禁用特定页面的wp_enQueue_Style操作

时间:2013-09-04 作者:Eduardo Soubihe

我的网站上有一个特定的页面,我不能让任何样式表排队,所以我需要取消那里加载的所有样式表的排队。问题是我不知道他们的ID,因为他们可能来自几个不同的主题或其他插件。

我试图删除wp\\u enqueue\\u样式的操作,但运气不好。

以下是我尝试过的:

add_action( \'init\', \'remove_enqueue_action\', 99);
function remove_enqueue_action() {
    remove_action( \'wp_enqueue_styles\',\'\' );
}
非常感谢您的帮助。

3 个回复
SO网友:s_ha_dum

检查$wp_styles 全局以获取样式表ID。

global $wp_styles;
var_dump($wp_styles);
查找handle 钥匙或

var_dump(array_keys($wp_styles->registered));
这应该会给你所需要的东西,让他们出局。

SO网友:mircobabini

function dequeue_all () {
    global $wp_styles;
    // var_dump($wp_styles->queue);

    foreach ($wp_styles->queue as $handle) {
        wp_dequeue_style ($handle);
    }
}
add_action(\'wp_footer\', \'dequeue_all\', 9999);
处理该全局变量循环将为您提供在处理同一个样式时加载的所有样式的完整数组,因此您只需指定每个句柄即可将它们全部出列。

SO网友:Prince Singh

可以在实际将脚本排入队列的位置执行此操作

像这样

if(!is_page(\'page id on which you dont want styles\') {
    add_action( \'wp_enqueue_scripts\', \'functionname where you enqueue your style\' );

}

结束