如何注销某个自定义帖子类型的脚本?

时间:2015-06-30 作者:Robbiegod

我使用这些函数。php为我的网站注册和排队所有脚本和css。

我有一个自定义的帖子类型,我想选择要加载到单个帖子类型中的脚本。php页面。我在一个灯箱中打开此页面,所以我不想将所有javascript和css文件加载到页面中。这可能会变得相当麻烦。我在努力

这有可能吗?我该怎么做?

我尝试用这段代码包装一些脚本,但似乎什么都没做:

if ( is_singular( \'projects\' ) ) {
  wp_deregister_script(\'html5shiv\');
}
我转到我的模板,仍然看到html5shiv正在加载。我做错了什么?

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

我的意见是,如果你是注册和授权脚本和样式的人,请有条件地将它们排队。我不认为将脚本或样式排入队列只是为了稍后将其排出队列有任何用处。

如果你想走出列路线,你需要

将脚本或样式出列,而不是注销

确保您的优先级正确,即您必须将脚本或样式出列after 它已正确加载。这样做before 脚本或样式已正确加载,无法正常工作

示例1

add_action( \'wp_enqueue_scripts\', \'enqueue_my_scripts\' );
function enqueue_my_scripts()
{
    wp_register_script( \'my_script\', /* Add the rest of your details*/ );
    if ( !is_singular( \'my_post_type\' ) ) // If we are not on a single post page from my my_post_type, enqueue the script
        wp_enqueue_script( \'my_script\' );
}
例2
add_action( \'wp_enqueue_scripts\', \'dequeue_my_scripts\', 999 ); // Notice the priority
function dequeue_my_scripts()
{
    if ( is_singular( \'my_post_type\' ) ) // If we are on a single post page from my my_post_type, dequeue the script
        wp_dequeue_script( \'my_script\' );
}

结束

相关推荐