从 wp_head Wordpress 中删除所有主题 CSS & JS 但不删除 wp 管理工具栏
Remove all theme CSS & JS from wp_head Wordpress but not remove the wp admin toollbar
在模板中,wp_head() 函数添加了一堆样式和脚本。
这会覆盖主题的其他 CSS,并在 return 中产生问题。
我尝试使用函数删除 CSS 和 js。它有效,但也从 WP 管理工具栏中删除了 CSS。
function clear_styles_and_scripts() {
global $wp_scripts;
global $wp_styles;
foreach( $wp_scripts->queue as $handle ) :
wp_dequeue_script( $handle );
wp_deregister_script( $handle );
endforeach;
foreach( $wp_styles ->queue as $handle ) :
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
}
add_action( 'wp_enqueue_scripts', 'clear_styles_and_scripts', 100 );
虽然我不建议出列所有脚本和样式,但您可以检查文件句柄以忽略出列该特定文件:
foreach( $wp_styles ->queue as $handle ) :
// allows admin bar to be added
if( 'admin-bar' === $handle ) continue;
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
这有效。
function clear_styles_and_scripts() {
global $wp_scripts;
global $wp_styles;
$styles_to_keep = array("wp-admin", "admin-bar", "dashicons", "open-sans");
foreach( $wp_styles ->queue as $handle ) :
if ( in_array($handle, $styles_to_keep) ) continue;
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
}
add_action( 'wp_enqueue_scripts', 'clear_styles_and_scripts', 100 );
在模板中,wp_head() 函数添加了一堆样式和脚本。 这会覆盖主题的其他 CSS,并在 return 中产生问题。
我尝试使用函数删除 CSS 和 js。它有效,但也从 WP 管理工具栏中删除了 CSS。
function clear_styles_and_scripts() {
global $wp_scripts;
global $wp_styles;
foreach( $wp_scripts->queue as $handle ) :
wp_dequeue_script( $handle );
wp_deregister_script( $handle );
endforeach;
foreach( $wp_styles ->queue as $handle ) :
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
}
add_action( 'wp_enqueue_scripts', 'clear_styles_and_scripts', 100 );
虽然我不建议出列所有脚本和样式,但您可以检查文件句柄以忽略出列该特定文件:
foreach( $wp_styles ->queue as $handle ) :
// allows admin bar to be added
if( 'admin-bar' === $handle ) continue;
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
这有效。
function clear_styles_and_scripts() {
global $wp_scripts;
global $wp_styles;
$styles_to_keep = array("wp-admin", "admin-bar", "dashicons", "open-sans");
foreach( $wp_styles ->queue as $handle ) :
if ( in_array($handle, $styles_to_keep) ) continue;
wp_dequeue_style( $handle );
wp_deregister_style( $handle );
endforeach;
}
add_action( 'wp_enqueue_scripts', 'clear_styles_and_scripts', 100 );