从WordPress中的模板中删除js和css


Remove js and css from a template in wordpress

我想使用 wp_dequeue_script 和 wp_dequeue_style 函数从 WordPress 中的模板中删除 css 和 js 文件,但我的代码不起作用。

Js File: <script type='text/javascript' src='http://localhost/worpress/wp-content/themes/goliath/theme/assets/js/vendor/jquery.hoverintent.min.js'></script>
Css File: <link rel='stylesheet' id='plsh-bbpress-css'  href='http://www.smeadvisor.com/wp-content/themes/goliath/theme/assets/css/bbpress.css' type='text/css' media='all' />

我正在使用巨人主题,并在歌利亚儿童主题函数中添加了以下代码.php文件

add_action('wp_print_scripts','example_dequeue_myscript');
function example_dequeue_myscript() {
   wp_dequeue_script( 'jquery.hoverintent' );
}
add_action('wp_print_styles','example_dequeue_mystyle');
function example_dequeue_mystyle() {
   wp_dequeue_style( 'bbpress' );
}

请帮助我!

wp_dequeue_script()wp_dequeue_style() 只有在相关的 CSS 和 JS 文件包含在网站中时才有效 wp_enqueue_script() ..

wp_dequeue_scriptwp_dequeue_style通过将句柄作为参数来工作。

您应该按如下方式注册:

wp_register_style('pagination-style', plugins_url('style.css', __FILE__));
wp_enqueue_style('pagination-style');

和这样的脚本:

wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
wp_enqueue_script('jquery'); 

然后使用句柄删除 css 和 js,如下所示:

wp_dequeue_style('pagination-style');
wp_dequeue_script('jquery');

希望删除 css 和 js

试试

add_action('wp_enqueue_scripts','example_dequeue_myscript', 30);
function example_dequeue_myscript() 
{
    wp_dequeue_script('jquery.hoverintent');
    wp_dequeue_style('bbpress');
}
您必须在

页眉或页脚中将这些文件排队,而不是直接写入脚本或链接标记,这是正确的方法,然后在条件下将脚本排队。 像这样

   add_action('wp_enqueue_scripts','example_dequeue_mystyle');
   function example_dequeue_mystyle() {
       if(!is_page('my-page-slug')){
            wp_enqueue_style( 'bbpress' );
            wp_enqueue_script( 'jquery.hoverintent' );
       }
   }

希望你明白了。

如果文件已排队(未在标题中硬编码),则问题可能出在错误的脚本/样式名称中。首先尝试在函数中使用它.php:

function remove_head_scripts() { 
   global $wp_styles;
   var_dump($wp_styles);
   global $wp_scripts;
   var_dump($wp_scripts);
} 
add_action( 'wp_enqueue_scripts', 'remove_head_scripts', 101 );

然后,您可以看到所有排队的样式和脚本,它们各自的 slug 打印在 html 中的某个位置(尝试在浏览器中使用 ctrl+U)。查看该列表,您可以找到所需的脚本和样式,并找出它的蛞蝓。如果您看不到它们,请尝试使用优先级 (101) 或钩子 (wp_enqueue_scripts) 进行游戏

在你知道你的脚本和风格的确切片段之后,用新的片段替换上面的片段:

function remove_head_scripts() { 
   wp_dequeue_style( 'exact_style_slug' );
   wp_dequeue_script( 'exact_script_slug' );
} 
add_action( 'wp_enqueue_scripts', 'remove_head_scripts', 101 );

同样,您可以使用优先级和钩子进行游戏。这在很大程度上取决于您的主题/插件将该脚本和样式排队的位置。