删除添加的样式wp_add_inline_style()
如果我们想保持
custom-style-css
但仅删除
custom-style-inline-css
, 然后我们可以试试。
add_action( \'wp_print_styles\', function()
{
// Remove previous inline style
wp_styles()->add_data( \'custom-style\', \'after\', \'\' );
} );
在哪里
after
是对应于
custom-style
处理程序。
存在的包装器wp_styles()->add_data()
, 即wp_style_add_data()
.
然后我们可以定义helper函数:
function wpse_remove_inline_style( $handler )
{
wp_style_is( $handler, \'enqueued\' )
&& wp_style_add_data( $handler, \'after\', \'\' );
}
并像这样使用它:
add_action( \'wp_print_styles\', function()
{
// Remove previous inline style
wpse_remove_inline_style( \'custom-style\' );
} );
我跳过了
function_exists
在这里检查。
要覆盖由另一个插件添加的内联样式,请使用我们自己的:
add_action( \'wp_print_styles\', function()
{
// Remove previous inline style
wpse_remove_inline_style( \'custom-style\' );
// New inline style
$custom_css = ".mycolor{
background: {blue};
}";
wp_add_inline_style( \'custom-style\', $custom_css );
} );
请注意,使用替代以前的内联样式不起作用的原因
wp_add_inline_style()
是因为
WP_Style::add_inline_style()
将每个传入的CSS字符串附加到一个数组中。内部it使用
WP_Style::add_data()
存储累积的CSS。这里我们使用它来克服
wp_add_inline_style()
.