显示部分结果的IS_PAGE_TEMPLATE

时间:2019-07-11 作者:MauF

试图通过标题加载有条件的内容,但只有首页被正确识别。归档、发布和自定义类型模板不是。

enter image description here

使用查询监视器识别正确的模板,并使用该模板名称作为参数,有子主题文件夹声明和无子主题文件夹声明,但每个其他模板都属于else条件。

    <?php
/* Conditional AD script loading */

/* Front page */
if ( is_home() || is_front_page() ) {
    echo "Front page";
} elseif ( is_page_template(  \'single-listing.php\' ) ) {
    echo "Listing page template";
} elseif ( is_archive() ) {
    echo "Archive page template";
} elseif ( is_page_template( $template  =\'single.php\' ) ) {
    echo "Post template";
} else {
    echo "wrong template";
}

?>
PHPelseif 位于子主题的标题中,模板文件也位于子主题文件夹中。我错过了什么?

1 个回复
SO网友:Jacob Peattie

这个is_page_template() 函数用于检查当前页面是否使用特定custom page template. 编辑页面时,从页面属性框中的模板下拉列表中选择的模板。

WordPress条件标记不基于使用的模板文件。它们用于告诉您正在查看哪些内容,而不管主题中存在哪些模板文件。例如is_category() 将返回true 查看类别存档时,即使您的主题没有category.php 文件

记录可用条件标记的列表here.

如果要使用查询监视器确定要对哪些页面使用哪些条件,请使用“条件”选项卡:

Screenshot of query monitor with the conditionals tab active