加载特定模板的脚本

时间:2013-08-01 作者:dorich

我正在尝试根据使用的模板加载几个脚本。然而is_page_template 未激活。从我的功能。php中的子主题我有:

function sectionDescription (){
if (is_page_template(\'taxonomy-tableofcontents.php\')){
            wp_enqueue_script(\'descriptionsectiontitle\');
            wp_enqueue_script(\'descriptionsectionbody\');
}
}
add_action(\'wp_enqueue_scripts\', \'sectionDescription\');
我看不出有语法问题。我假设您可以在函数文件中使用这个条件来控制脚本的排队,我找不到任何相反的情况。当我查看其他示例时,我的格式似乎是正确的。

如果能就问题的可能根源提出任何建议,我将不胜感激。

注意:脚本注册在函数文件的另一部分中。当我第一次加载脚本时,我将注册和排队放在一起,并在每个页面上加载。这正如预期的那样工作,所以我不怀疑注册和排队的语法。

我在页面中添加了一些测试php来测试is_page_template 它表示条件语句不起作用。

我想我不知道如何使用这个条件,但我看不出缺少什么。

2 个回复
最合适的回答,由SO网友:Milo 整理而成

is_page_template 仅适用于属于page 岗位类型。您的模板似乎是用于自定义分类法的,因此您需要检查is_tax.

if( is_tax( \'tableofcontents\' ) )

SO网友:Vladimir

您可以使用过滤器template_include.

例如:

add_filter(\'template_include\', \'theme_check_page\', 1, 1);
function theme_check_page($template) 
{
    echo substr($template,strripos($template,\'/\')+1); // index.php, single.php and other
    return $template;
}

结束

相关推荐