WooCommerce 8.5+非商城页面加载冗余脚本问题求助
WooCommerce 8.5+非商城页面冗余脚本问题
此前的有效解决方案
之前使用以下代码阻止WooCommerce在非商城页面加载资源,曾有效清除冗余样式与脚本,保证页面性能:
add_action( 'template_redirect', 'remove_woocommerce_styles_scripts', 999 ); function remove_woocommerce_styles_scripts() { if ( function_exists( 'is_woocommerce' ) ) { if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) { remove_action('wp_enqueue_scripts', [WC_Frontend_Scripts::class, 'load_scripts']); remove_action('wp_print_scripts', [WC_Frontend_Scripts::class, 'localize_printed_scripts'], 5); remove_action('wp_print_footer_scripts', [WC_Frontend_Scripts::class, 'localize_printed_scripts'], 5); } } }
升级至8.5.2后的问题
升级到WooCommerce 8.5.2版本后,非商城页面突然加载大量冗余脚本,包括:
- wp-polyfill-inert-js
- regenerator-runtime-js
- wp-polyfill-js
- react-js
- wp-hooks-js
- wp-deprecated-js
- wp-dom-js
- react-dom-js
以及更多未列出的脚本。
尝试的修复及残留问题
尝试通过以下代码移除大部分冗余脚本,该方法有效阻止了多数脚本加载,但仍有两个脚本残留:
//remove a ton of script from non-woocommerce pages function deregister_polyfill(){ wp_deregister_script( 'regenerator-runtime' ); } add_action( 'wp_enqueue_scripts', 'deregister_polyfill');
残留的脚本:
- wc-cart-fragments-js-extra
- wc-order-attribution-js-extra
疑问
- 这两个残留脚本是否需要在非商城页面加载?
- 为何WooCommerce 8.5+会突然触发这些脚本加载?是否属于依赖问题?
- 若为依赖问题,是哪个脚本导致的?
- 是否有其他用户遇到同样情况?
内容的提问来源于stack exchange,提问作者timholz
相关产品推荐
相关产品推荐

