删除wp_add_inline_css添加的内联css

时间:2017-06-08 作者:Earlee

我正在创建一个儿童主题。我注意到我的父主题在其函数中添加了一些内联CSS。php:

wp_add_inline_style( \'persona-style-css\', $custom_css );
由于我无法更改其中的某些值,是否可以将其出列?我尝试使用wp_dequeue_style (\'persona-style-css\') 但这并没有真正起到作用。

提前谢谢。

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

如果wp_add_inline_css 在您可以使用的操作中激发remove_action 使用相同的参数。

您也可以使用wp_enqueue_scripts 以适当方式将任何脚本或样式出列的操作。但是,内联样式不包括在$wp_styles 全局,您可以使用操作取消设置它们print_styles_array, 您需要知道句柄名称才能取消设置它。

希望它能给你一些提示,让它发挥作用。

SO网友:Marcio Dias

尝试

function wp_force_remove_style(){

add_filter( \'print_styles_array\', function($styles) {

    #DEBUG: Show all registered styles
    //print_r($styles);
    //die();

    #Set styles to remove
    $styles_to_remove = array(\'persona-style-css\');

    if(is_array($styles) AND count($styles) > 0){

        foreach($styles AS $key => $code){

            if(in_array($code, $styles_to_remove)){

                unset($styles[$key]);

            }

        }

    }

    return $styles;

    }); 

}

add_action(\'wp_enqueue_scripts\', \'wp_force_remove_style\', 99);
我希望这有帮助!

结束

相关推荐