如何包含模板文件,同时允许它呈现通过自定义框添加的自己的动态内容?

时间:2012-04-16 作者:Housni

我有3个主题文件:header.php, navigation.phppage.php

page.php 呼叫header.php它们都有通过custom box.

navigation.php 通过custom box.根据调用的页面,我希望包括navigation.php 在内部header.php

我该怎么做?

我想要navigation.php 纳入page.php 而两者都有通过custom box.

My guess例如,创建一个名为“导航”的页面。我从不在模板中显示此链接,这样即使它作为一个页面存在,也不会将其用作自己的页面。这将允许我编辑其内容。

用任何名称创建另一个页面,这将使用page.php.page.php 将使用一些函数来包括navigation.php 基于is_home().

如果这个想法是对的,有人能详细说明一下我将使用什么功能,等等吗?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您可以包含任何要使用的模板get_template_part()

e、 g.:

<?php get_template_part(\'navigation\'); ?>
使用此功能还可以为您提供子/父主题支持。

同样值得注意的是,您可以:

<?php get_template_part(\'navigation\',\'search\'); ?>
将尝试加载navigation-search.php, 但如果找不到或不存在,它将回退并加载navigation.php 相反

我在我的个人代码中使用此选项,以便为不同的帖子类型加载不同的摘录,例如:

get_template_part(\'excerpt\',$post->post_type);
它将加载excerpt.php 默认情况下,但我可以为我希望的任何帖子类型覆盖它,例如。excerpt-page.php

作为旁注,请仅将此函数用于模板文件,不要将其用作通用include语句,例如,以这种方式加载PHP库或配置文件是个坏主意。

结束

相关推荐