IS_PAGE和IS_PAGE_TEMPLATE之间的差异

时间:2018-03-14 作者:Fahad

我一直在学习WordPress 主题开发人员手册。我被困在理解is_pageis_page_templates. 有人能帮我很容易地弄清楚吗?

2 个回复
SO网友:Jacob Peattie

is_page() 如果主查询针对单个页面,则返回true。如果提供的参数可以是ID、slug或title,则只有当主查询针对具有该ID、slug或title的特定页面时,它才会返回true。

is_page_template() 如果您正在查看具有给定Page Template.

所以is_page_template( \'template-about.php\' ); 如果您正在查看使用自定义模板的页面,将返回truetemplate-about.php. 虽然is_page( \'about\' ) 只会在您查看带有slug的页面时返回trueabout.

关于我说的“主查询”,每当你访问WordPress中的URL时,都会有一个对该URL内容的查询。以此类推http://example.com/about 主查询将针对页面about, 打开时http://example.com/category/tutorials 主要查询的是tutorials 类别所以is_page() 正在检查被查询的主要内容是什么。

SO网友:mattbru

WordPress功能is_page_template() 用于确定用户是否位于分配给指定页面模板的页面上。

我在将样式和脚本排入队列时经常使用它,例如:

if ( is_page_template( \'page-templates/flex-page.php\' ) ) {
     wp_enqueue_script( 
        \'event-move\', 
        get_template_directory_uri() . \'/assets/js/jquery.event.move.js\', 
        array(\'jquery\'), 
        \'01-22-2018\', 
        true 
    ); 
}
WordPress功能is_page() 更具体:它询问用户是否在特定(单数)页面上。可以传递给函数的参数通常是页面id,但可以是页面id、标题、slug或数组。

结束

相关推荐