Codex中没有关于此的信息:http://codex.wordpress.org/Function_Reference/get_template_part
#1 楼
实际上,您可以,在我的主题目录中有一个名为/partials/
的文件夹,在该文件夹中,我有latest-articles.php
,latest-news.php
和latest-statements.php
之类的文件,并使用get_template_part()
加载了这些文件,例如: > 别忘了从文件名中忽略
.php
。#2 楼
恐怕不是。如果您不想了解Codex中的内容,请尝试访问源代码的链接,并亲自查看代码并尝试对其进行管理。我看过了, 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 );
评论
有趣的快捷方式,我想知道它是否对加载顺序或文件内容有负面影响。
–lowtechsun
17年9月30日在0:42
get_template_part将$ require_once设置为false是有原因的-OP希望使用该函数来调用可重复使用的部件...
–艾萨克·卢博(Isaac Lubow)
20年6月2日在7:06
#3 楼
函数get_template_part()
的注释说:注释
-用法:locate_template()
-用法:do_action()调用'get_template_part _ {$ slug}'操作。
Wich允许您使用
locate_template()
,这样说:在TEMPLATEPATH之前的STYLESHEETPATH中进行搜索,以便从父级继承的主题主题可以只重载一个文件。
如果使用要使用的子目录定义
TEMPLATEPATH
,则get_template_part()
将在子目录中搜索文件。
评论
谢谢!太简单了,真可惜我没发现。我坚信这是不可能的,因为Codex没有提及。这个问题带来了更多有趣的答案,但这是最简单的问题,因此它可能对普通人来说是最有用的:)(因此,请用绿色对勾标记)。
– Paul
13年2月6日在13:30
幸运的是,可以编辑Codex,以便下一个人不会遇到相同的问题。 :-)
–道尔顿·鲁尼
13年2月13日在17:34
@Sebastien您实际上可以执行以下操作:<?php get_template_part('partials / file'); ?>
– HauntedSmores
19年5月15日23:00