从头部去掉特定的css和js

时间:2016-01-06 作者:IVO

我正在尝试从WP\\U头部删除一些特定的线条。现在,我的标题如下所示:

<link rel=\'stylesheet\' id=\'bootstrap-css\'  href=\'/themes/wp-e/css/bootstrap.css?ver=4.2.2\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'bootstrap-responsive-css\'  href=\'/themes/wp-e/css/bootstrap-responsive.css?ver=4.2.2\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'style-css\'  href=\'/themes/wp-e/style.css?ver=4.2.2\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'prettyPhoto-css-css\'  href=\'/themes/wp-e/css/prettyphoto.css?ver=4.2.2\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'custom-options-css\'  href=\'/themes/wp-e/css/options.css?ver=4.2.2\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'oswald_google-fonts-css\'  href=\'http://fonts.googleapis.com/css?family=Oswald%3A400%2C300%2C700&#038;subset=latin%2Clatin-ext&#038;ver=4.2.2\' type=\'text/css\' media=\'screen\' />
<link rel=\'stylesheet\' id=\'thumbs_rating_styles-css\'  href=\'/plugins/rating/css/style.css?ver=1.0.0\' type=\'text/css\' media=\'all\' />

<script type=\'text/javascript\' src=\'/js/jquery/jquery.js?ver=1.11.2\'></script>
<script type=\'text/javascript\' src=\'/js/jquery/jquery-migrate.min.js?ver=1.2.1\'></script>
<script type=\'text/javascript\' src=\'/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=4.0.6\'></script>
<script type=\'text/javascript\' src=\'/plugins/rating/js/general.js?ver=4.0.1\'></script>
我需要删除所有这些,但我不擅长编码,我只知道我必须把

remove_action( \'wp_head\', \'???\' );
但我不知道该用什么来代替???.

1 个回复
SO网友:kaiser

当你看到<style|script> 你会注意到id 属性。示例:

id=\'bootstrap-css\'
在大多数情况下,这是由连接到wp_enqueue_scripts, wp_enqueue_styleswp_register_scriptswp_register_styles 钩在最坏的情况下,它与wp_head 或者wp_print_scripts

在回溯那些添加<script|style> 标签,您应该能够从一个小插件或您的functions.php 在主题或子主题中:

// See if those scripts/styles were added using the Dependency API
// Search the output for the `id` you can see rendered in the DOM
printf( 
    \'<pre>%s</pre>\', 
    var_export( $GLOBALS[\'wp_scripts\']->registered, TRUE )
);
如果您可以在上面的输出中找到脚本/样式,那么您就知道资产已正确注册(因此可以使用WordPress API对插件进行优化或其他处理)。

如果这是真的,那么您可以向上搜索资产:

foreach( [
    \'wp_enqueue_scripts\',
    \'wp_print_scripts\',
    \'wp_head\',
] as $action )
    printf( 
        \'<h1><code>%1$s</code></h1><pre>%1$s</pre>\', 
        var_export( $GLOBALS[\'wp_filters\'][ $action ], TRUE )
    );
您将打印三块信息。每个将包含一个回调数组,这些回调附加到数组中的特定挂钩。然后,您可以在主题和插件上使用跨文件搜索来搜索这些内容,以找到资产的来源。然后unregister 您要删除的操作。

相关推荐