폴더와 함께 get_template_part ()를 사용하는 방법이 있는지 궁금합니다. 재사용 가능한 모든 요소를 별도의 파일에 저장하기 때문에 기본 폴더에 많은 파일이 있습니다. 그런 다음 폴더에 넣고 싶습니다.
Codex에는 이에 대한 정보가 없습니다. http://codex.wordpress.org/Function_Reference/get_template_part
폴더와 함께 get_template_part ()를 사용하는 방법이 있는지 궁금합니다. 재사용 가능한 모든 요소를 별도의 파일에 저장하기 때문에 기본 폴더에 많은 파일이 있습니다. 그런 다음 폴더에 넣고 싶습니다.
Codex에는 이에 대한 정보가 없습니다. http://codex.wordpress.org/Function_Reference/get_template_part
답변:
당신이 할 수있는 사실, 난라는 내 테마 디렉토리에 폴더가 /partials/
나는 등의 파일이있는 폴더 점에서에 latest-articles.php
, latest-news.php
그리고 latest-statements.php
내가 사용하여 이러한 파일을로드 get_template_part()
처럼을 :
get_template_part('partials/latest', 'news');
get_template_part('partials/latest', 'articles');
get_template_part('partials/latest', 'statements');
.php
파일 이름에서 파일 을 생략하는 것을 잊지 마십시오 .
<?php get_template_part('partials/file'); ?>
난 두려워하지. 코덱스에서 알고 싶지 않은 경우 소스 링크를 따라 가고 코드를 직접 살펴보고 관리하십시오.
모양이 있고 get_template_part 함수는 다음과 같이 정의됩니다.
function get_template_part( $slug, $name = null ) {
do_action( "get_template_part_{$slug}", $slug, $name );
$templates = array();
if ( isset($name) )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
locate_template($templates, true, false);
}
이것으로부터 get_template_part 함수는 의도 된 PHP 파일 이름을 생성하고 locate_template 함수를 호출합니다. 이것은 유용하지 않으므로 locate_template 함수를 살펴 보았습니다.
function locate_template($template_names, $load = false, $require_once = true ) {
$located = '';
foreach ( (array) $template_names as $template_name ) {
if ( !$template_name )
continue;
if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
$located = STYLESHEETPATH . '/' . $template_name;
break;
} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
$located = TEMPLATEPATH . '/' . $template_name;
break;
}
}
if ( $load && '' != $located )
load_template( $located, $require_once );
return $located;
}
get_template_part에서 호출 된 PHP 파일에 대한 템플릿 검색 위치를 가져옵니다. 그러나 코드에서 직접 locate_template 을 호출 할 수 있습니다 . 그리고 이것은 유용합니다.
get_template_part ( 'loop-sigle.php') 함수 대신이 코드를 사용해보십시오 (파일은 테마의 mydir에 있습니다).
locate_template( 'mydir/loop-single.php', true, true );
기능의 메모는 다음과 get_template_part()
같이 말합니다.
참고
-용도 : locate_template ()
-용도 : do_action () 'get_template_part _ {$ slug}'조치를 호출합니다.
Wich를 사용하면 다음을 사용할 수 있습니다 locate_template()
.
상위 테마에서 상속 된 테마가 하나의 파일을 오버로드 할 수 있도록 TEMPLATEPATH 전에 STYLESHEETPATH를 검색합니다.
TEMPLATEPATH
사용하려는 서브 디렉토리로 정의 하면 서브 디렉토리 get_template_part()
에서 파일을 검색합니다.