可以使用查看模板零件get_template_part($slug)
这是WordPress内部隐藏的宝石之一,没有得到应有的关注。这个get_template_part
函数本质上是一个PHP包含或需要的函数:
它已经知道您的主题所在的位置,并将在该主题的目录中查找请求的文件
如果请求的文件不存在,它不会发出警告或致命输出
如果找不到请求的文件,它可以搜索其他合适的文件
它了解子主题和父主题
长话短说,get\\u template\\u part功能允许您将主题分解为更小的模板(或模板部分),这些模板可以在其他模板中重用。
例如:
get_template_part( \'navigation\', get_post_type() );
在哪里
get_post_type()
将返回当前显示的帖子类型的名称,因此如果我们在帖子上,它将尝试加载导航帖子。php和回退到导航。php。如果我们在一个页面上,导航页面。php和导航。php。如果我们正在查看一个自定义的帖子类型,比如一本书,它将查找导航书。php并返回到导航。php。
get\\u template\\u part的真正功能来自一个名为locate_template
, 它在父主题和子主题文件夹中执行整个搜索,并恢复到堆栈中的其他模板。这个get_template_part
函数只需为locate_template
寻找。下面是一个简单的例子:
get_template_part( \'one\', \'two\' );
创建一个由“one-two.php”和“one.php”(按特定顺序)组成的数组,并将其传递给
locate_template
, 然后遍历该数组并在子主题和父主题目录中查找文件。顺序在这里非常重要,这就是为什么文件名优先于它们的位置(父主题或子主题),并解释了查找顺序背后的原因。
还值得注意的是get_header
, get_sidebar
和get_footer
非常类似于get_template_part
使用某种硬编码的第一个参数。
get_template_part
位于wp includes/general模板中。php和locate_template
在wp includes/模板中。php。