是否使用条件标记来检查是否正在使用‘page.php’?

时间:2014-06-16 作者:user1981248

我正在检查页面是否正确。是否正在使用php模板。我试过了is_page_template( \'page.php\' ) 但它不起作用。

我也不能用is_page() 因为我只想在page.php 使用,而不是在使用其他自定义页面模板时使用。

请让我知道这一点,谢谢!

Edit: 应该在前面提到我有一个名为common-options.php 几乎所有的模板都包含了它(如index.php, page.php, single.phppage_blog.php), 在此文件中,我尝试使用以下代码进行检查:

if ( is_page_template( \'page.php\' ) ) {
    echo "success!";
}
但当我打开一个使用“默认模板”的页面时,它不起作用。

7 个回复
SO网友:intagli

实际上,我自己也遇到了同样的问题,我的解决方案是以下代码:

if(basename(get_page_template()) === \'page.php\'){

}
basename(get_page_template()) 获取页面模板的文件名(根据https://codex.wordpress.org/Function_Reference/get_page_template) 然后我们检查它是否等于\'page.php\'

SO网友:t-jam

您有两个有用的功能:is_page()is_page_template().

这个is_page() 函数将返回true 当你在页面上时is_page_template() 函数将返回false 如果当前帖子(可以是页面)未使用自定义模板。

因此,您只需同时使用这两个函数:

if ( is_page() && !is_page_template() ) {
  // your code
}

SO网友:Rarst

老问题,但很有趣。

通常,在WordPress中检查模板是不常见的。模板是主查询运行和设置请求上下文的结果。

如果有必要,我可能会在page.php, 比如为它声明常量,以便有自己的上下文。

总的来说,尽管这让我认为,任何需要采取这种行动的逻辑都应该考虑根据更常见的机制和条件进行调整。

SO网友:Assaf Katz

其实很简单。只需使用:

is\\u page\\u template()

如果返回true,则返回page。未使用php,反之亦然:)

SO网友:NineTheme
$bulkitnt_custom_page_control = is_page_template( \'custom-page.php\' );

    if( $bulkitnt_custom_page_control != true ){
        do_action(\'bulkitnt_header_action\');
    }
SO网友:Robin

这对我在seachbar很有用。php

basename(get\\u page\\u template())===(“page.php”)

这是我的完整代码:

if ( is_page_template( \'tpl-ads-home.php\' ) || basename(get_page_template()) === ( \'page.php\' ) || is_page_template( \'tpl-refine-search.php\' ) || is_page_template( \'tpl-categories.php\' ) || is_search() || is_404() || is_tax( APP_TAX_CAT ) || is_tax( APP_TAX_TAG ) || is_singular( APP_POST_TYPE ) ) :

    $args = cp_get_dropdown_categories_search_args( \'bar\' );

SO网友:Sainul Abid

只需使用空数组而不是“page”。php\'eg:is_page_template(array(\'\'));

结束

相关推荐

Show Pages in Categories

通过将此代码添加到函数中,我创建了category函数。php:function page_category() { register_taxonomy_for_object_type(\'category\', \'page\'); } // Add to the admin_init hook of your theme functions.php file add_action( \'init\', \'page_category\' ); 但问