2013-01-21 2 views
1

WordPress 플러그인 디렉토리 안에 사용자 정의 페이지 용 템플릿 파일을 만들었지 만 올바른 경로를 찾을 수 없습니다. 이 코드 조각은 작동하지 않습니다내 플러그인 안에 템플릿 파일을 만들려면 어떻게해야합니까?

update_post_meta($pas_tasks_page_id, '_wp_page_template', dirname(__FILE__) . '/task-list-template.php'); 

내가 수동으로 템플릿 워드 프레스 테마로 파일을 변경하는 코드를 넣을 때 만 작동합니다

update_post_meta($pas_tasks_page_id, '_wp_page_template', '/task-list-template.php'); 

을하지만 플러그인 개발자로 내가 싶습니다 내 플러그인 디렉토리 안에 수동으로 새 템플릿을 만들지 마라. 어떻게해야합니까?

답변

4

나는 최근에 "template_include"필터를 사용하여 이렇게했습니다. 난 그냥 어떤 템플릿이 요청되고 있었는지 확인하기 위해 워드 프레스 조건문을 사용

function include_template_files() { 
    $plugindir = dirname(__FILE__); 

    if (is_post_type_archive('post-type-name')) { 
     $templatefilename = 'archive-post_type_name.php'; 
     $template = $plugindir . '/theme_files/' . $templatefilename; 
     return $template; 
    } 

    if ('post-type-name' == get_post_type()){ 
     $templatefilename = 'single-post-type-name.php'; 
     $template = $plugindir . '/theme_files/' . $templatefilename; 
     return $template; 
    } 
} 
add_filter('template_include', 'include_template_files'); 

다음 내 플러그인 디렉토리에 "theme_files"폴더를 생성하고 거기에 적절하게 명명 된 워드 프레스 템플릿 파일을 배치 :이처럼했다. 이것은 사용자 정의 게시 유형에 대한 단일 및 아카이브 템플리트를 작성하는 것입니다.

관련 문제