使用主题名称在主题编辑器中查找WordPress文件

时间:2016-01-21 作者:Dave

在wordpress管理仪表板的页面选项卡上,当您编辑页面时,有一个称为“页面属性”的部分。其中一个选项是“模板”,它打开可用模板的下拉列表。

不必查看主题编辑器中的每个文件,就可以在主题编辑器中找到与哪个文件对应的模板名称吗?

1 个回复
SO网友:Howdy_McGee

我不完全明白你的意思,但每当设置页面模板时,WordPress也会用特定的键和值设置postemta。调用键_wp_page_template 该值保存模板相对于主题的位置。所以你可以这样做:

$pages_with_templates = new WP_Query( array(
    \'post_type\'         => \'page\',
    \'posts_per_page\'    => 20,
    \'meta_key\'          => \'_wp_page_template\',
) );
这将返回一个包含模板的页面列表,您可以通过提供以下值进一步缩小其范围:

$pages_with_this_template = new WP_Query( array(
    \'post_type\'         => \'page\',
    \'posts_per_page\'    => 20,
    \'meta_key\'          => \'_wp_page_template\',
    \'meta_value\'        => \'template-fullwidth.php\',
) );
现在,当我说相对于主题时,我的意思是如果您使用子目录,例如:
theme-name/page-templates/template-fullwidth.php postmeta值将保持:
pages-templates/template-fullwidth.php.

还有一个条件可以测试当前页面是否使用特定模板:

if( is_page_template( \'template-fullwidth.php\' ) ) { ... }
最后,如果您使用body_class() 功能-WordPress将根据模板为body标签指定一个特定的类,如果您愿意,可以将其作为目标。

相关推荐

About wordpress child themes

我对WordPress和儿童主题有一些问题。据我所知,如果我不想在更新主题时失去任何东西,使用子主题是很重要的。我是WordPress的初学者,到目前为止,我一直在使用PageBuilder(管理面板上的板载自定义选项)自定义我的网站,并在“附加CSS”选项中加入几行CSS。所有这些都是在主主题上完成的(只是玩转尝试学习),现在我想开始使用一个儿童主题。问题如下:我不知道我是否可以像通过管理界面设计父主题那样设计我的子主题,或者我是否必须通过文本编辑器(在我的计算机上,然后通过FTP等方式上传)对所有内容