如何从模板中正确删除某些CSS/JS文件

时间:2016-08-17 作者:LeeTee

我需要创建我的页眉和页脚的优化版本,并删除大量包含的CSS和JS。我该怎么做呢?

例如,我想从特定模板的页眉和页脚中删除对Woocommerce的所有引用,但要将其包含在所有其他模板中。我创建了一个带有新页眉和页脚的新模板,并这样调用它们:get_header(\'optimised\'); 然而,该函数随后调用wp_head() 函数,其中包含Woocommerce所需的所有文件。

如何仅针对“优化”模板删除这些内容?

我希望能像下面这样的函数。php文件,但这与woocommerce电子邮件有关。

//remove woocommerce if \'optimised\' template
function remove_woo_header_footer(){
   remove_action(\'woocommerce_email_header\', array( $object, \'email_header\' ));
   remove_action(\'woocommerce_email_footer\', array( $object, \'email_footer\' ));
}
add_action( \'woocommerce_email\', \'remove_woo_header_footer\' );
非常感谢

/**********更新**********/

在实现了@OmarSoliman的解决方案之后,我在源代码中仍然显示了以下内容。我该如何删除它呢?

<script type=\'text/javascript\'>
/* <![CDATA[ */
var wc_add_to_cart_params = {"ajax_url":"\\/example.com_new\\/wp-admin\\/admin-ajax.php","wc_ajax_url":"\\/example.com_new\\/optimised\\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View Cart","cart_url":"http:\\/\\/localhost\\/example.com_new\\/cart\\/","is_cart":"","cart_redirect_after_add":"no"};
/* ]]> */
</script>
<script type=\'text/javascript\' src=\'//localhost/example.com_new/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=2.4.10\'></script>
<script type=\'text/javascript\' src=\'http://localhost/example.com_new/wp-content/plugins/js_composer/assets/js/vendors/woocommerce-add-to-cart.js?ver=4.8.1\'></script>
<meta name="generator" content="WooCommerce 2.4.10" />

1 个回复
最合适的回答,由SO网友:99teko 整理而成

您可以使用此功能删除woocommerce样式/脚本如果它是您的自定义模板,请记住更改YOUR_TEMPLATE_FILE.php 要匹配指定的模板,您需要从中删除woocommerce css/js。

add_action( \'wp_enqueue_scripts\', \'woo_cleaner\', 99 );

function woo_cleaner() {
    remove_action( \'wp_head\', array( $GLOBALS[\'woocommerce\'], \'generator\' ) );

    //dequeue scripts and styles if template matches
    if ( is_page_template(\'YOUR_TEMPLATE_FILE.php\') ) {
            wp_dequeue_style( \'woocommerce-layout\' );
            wp_dequeue_style( \'woocommerce-smallscreen\' );
            wp_dequeue_style( \'woocommerce-general\' );
            wp_dequeue_style( \'wc-bto-styles\' );
            wp_dequeue_script( \'wc-add-to-cart\' );
            wp_dequeue_script( \'wc-cart-fragments\' );
            wp_dequeue_script( \'woocommerce\' );
            wp_dequeue_script( \'jquery-blockui\' );
            wp_dequeue_script( \'jquery-placeholder\' );
    }
}
remove_action(\'wp_head\', \'wc_generator_tag\');