IS_PAGE_TEMPLATE返回FALSE

时间:2014-12-10 作者:Jason

我将woothemes画布与子主题一起使用。此外,我正在使用WP Listings插件。我正在创建一个自定义列表页面模板(覆盖插件模板),但在识别页面类型以仅在该页面类型上包含脚本/样式时遇到问题。

示例:

if ( is_page_template( \'single-listing.php\' ) ) {
    add_action(\'wp_enqueue_scripts\', \'your_function_name\');
    function your_function_name() {
if语句返回false,尽管它正在使用该文件。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我认为你的问题是你的函数是如何构造的,而不是你的条件本身。

您不应该在这样的情况下包装函数和操作。页面模板在主查询的查询中选择得很晚,我可能认为这是延迟执行操作的方式。当条件达到真值时wp_enqueue_scripts 挂钩已执行,无法重新运行

如果这是一个单独的页面,并且该单独的页面用于一个名为listing, 您应该使用is_singular( \'listing\' ) 而不是is_page_template()

正确的方法是将脚本和样式包装在函数中,包装在条件中

您可以尝试以下方法

add_action( \'wp_enqueue_scripts\', \'your_function_name\' );
function your_function_name() {
    if( is_singular( \'listing\' ) {

        // add your scripts and styles

    }
}

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c