几年前,我还没有掌握运行多站点网络的最佳实践,我经常使用网络激活插件。后来我意识到这是一个错误,因为并不是所有的网站都使用了一些插件。所以我在几个网站上有不必要的脚本和样式表。
我开始为那些不需要的插件资源做的是wp_dequeue_style( \'style-sheet\' ); 和wp_deregister_style( \'style-sheet\' ); 在子主题函数中。php
我的问题是,它并不适用于所有插件。例如https://wordpress.org/plugins/advanced-recent-posts/ 没有遵循我的功能。我想也许我会尝试remove_action(); 但我不知道这到底是怎么回事。
以下是我在函数中使用的内容。php,它适用于其他样式表。
function remove_unwanted_stylesheets() {
wp_dequeue_style( \'wp-advanced-rp-css\' );
wp_deregister_style( \'wp-advanced-rp-css\' );
}
add_action( \'wp_enqueue_scripts\', \'remove_unwanted_stylesheets\', 999 );
插件排队和添加操作如下所示。
function add_advanced_recent_posts_widget_stylesheet() {
$plugin_dir = \'advanced-recent-posts-widget\';
if ( @file_exists( STYLESHEETPATH . \'/advanced-recent-posts-widget.css\' ) )
$mycss_file = get_stylesheet_directory_uri() . \'/advanced-recent-posts-widget.css\';
elseif ( @file_exists( TEMPLATEPATH . \'/advanced-recent-posts-widget.css\' ) )
$mycss_file = get_template_directory_uri() . \'/advanced-recent-posts-widget.css\';
else
$mycss_file = plugins_url( \'css/advanced-recent-posts-widget.css\',dirname(__FILE__) );
wp_register_style( \'wp-advanced-rp-css\', $mycss_file );
wp_enqueue_style( \'wp-advanced-rp-css\' );
}
add_action(\'wp_print_styles\', \'add_advanced_recent_posts_widget_stylesheet\');
非常感谢您能深入了解我如何有效地退出和注销此插件的样式表。
最合适的回答,由SO网友:Jarod Thornton 整理而成
我只是简单地复制了插件源代码,然后更改了add_action(); 到remove_action(); 在我的孩子主题函数中。php
add_action(\'wp_print_styles\', \'add_advanced_recent_posts_widget_stylesheet\');
更换
add 具有
remove.
remove_action(\'wp_print_styles\',\'add_advanced_recent_posts_widget_stylesheet\');
这么简单。现在我知道了。