To all would-be close-voters: 这个问题不是重复的,因为我需要使用删除插件添加的所有脚本remove_action
.
在里面Very stubborn wp_register_script / add_action vs remove 习惯于wp_dequeue_script
函数一个接一个地删除脚本,但我需要将它们全部删除(这是使用插件添加的add_action
) 使用remove_action
!
wp_dequeue_script
函数无法删除如下自定义代码:
add_action(\'wp_head\', \'print_style\');
function print_style() {
echo \'<style>body { margin: 0; }</style>\';
}
我已经安装了WP Polls插件。我在一些页面中使用它,需要在其他页面取消注册它的样式和脚本。
我在插件中找到了一些注册脚本的代码:
功能:排队轮询JavaScripts/CSS
add_action(\'wp_enqueue_scripts\', \'poll_scripts\');
function poll_scripts() {
// code
}
因此,为了注销其脚本,我在函数中使用了下一个代码。php:
add_action( \'wp_enqueue_scripts\', \'deregister_polls_scripts_and_styles\' );
function deregister_polls_scripts_and_styles() {
if ( is_home() ) {
remove_action( \'wp_enqueue_scripts\', \'poll_scripts\');
}
}
所以它必须注销主页上的轮询脚本,但id并没有。我做错了什么?
P.S. 1
在这种情况下,脚本正在删除:
add_action( \'after_setup_theme\', \'wc_deregister_polls_scripts_and_styles\' );
function wc_deregister_polls_scripts_and_styles() {
remove_action(\'wp_enqueue_scripts\', \'poll_scripts\');
remove_action(\'wp_head\', \'poll_head_scripts\');
}
但我需要在以下页面上删除它:
add_action( \'after_setup_theme\', \'wc_deregister_polls_scripts_and_styles\' );
function wc_deregister_polls_scripts_and_styles() {
if ( is_page(\'developers\') ) {
remove_action(\'wp_enqueue_scripts\', \'poll_scripts\');
remove_action(\'wp_head\', \'poll_head_scripts\');
}
}
所以在这种情况下,它不起作用。
我已经安装了另一个插件,在这种情况下一切正常。相同的操作,但都有效:
add_action( \'wp_enqueue_scripts\', \'wc_deregister_scripts_and_styles\' );
function wc_deregister_scripts_and_styles() {
if ( !is_home() && !is_tax(\'brand\') ) {
remove_action( \'wp_enqueue_scripts\', \'uag_frontend_styles\', 999 );
remove_action( \'wp_footer\', \'uag_footer_scripts\');
}
}
P. S. 2
这是另一个插件。
add_action(\'wp_enqueue_scripts\', \'uag_frontend_styles\', 999);
function uag_frontend_styles() {
/* main stylesheet */
wp_register_style( \'uag_style\', uag_url . \'css/uag.css\');
wp_enqueue_style(\'uag_style\');
}
这是民意测验:
add_action(\'wp_enqueue_scripts\', \'poll_scripts\');
function poll_scripts() {
global $text_direction;
if(@file_exists(get_stylesheet_directory().\'/polls-css.css\')) {
wp_enqueue_style(\'wp-polls\', get_stylesheet_directory_uri().\'/polls-css.css\', false, \'2.63\', \'all\');
} else {
wp_enqueue_style(\'wp-polls\', plugins_url(\'wp-polls/polls-css.css\'), false, \'2.63\', \'all\');
}
if(\'rtl\' == $text_direction) {
if(@file_exists(get_stylesheet_directory().\'/polls-css-rtl.css\')) {
wp_enqueue_style(\'wp-polls-rtl\', get_stylesheet_directory_uri().\'/polls-css-rtl.css\', false, \'2.63\', \'all\');
} else {
wp_enqueue_style(\'wp-polls-rtl\', plugins_url(\'wp-polls/polls-css-rtl.css\'), false, \'2.63\', \'all\');
}
}
$poll_ajax_style = get_option(\'poll_ajax_style\');
$pollbar = get_option(\'poll_bar\');
wp_enqueue_script(\'wp-polls\', plugins_url(\'wp-polls/polls-js.js\'), array(\'jquery\'), \'2.63\', true);
// Other same code
}