如何移除WooCommerce所有关联页面的默认加载spinner预加载动画
移除全部WooCommerce页面默认preloader/spinner的可行方案
方案1:全量CSS覆盖(优先推荐,无兼容性风险)
该方案不需要修改功能逻辑,不会影响其他依赖脚本的运行,直接添加以下CSS到站点自定义CSS面板、子主题style.css或自定义代码片段插件的CSS注入位置即可:
/* 移除所有WooCommerce页面的BlockUI预加载遮罩与spinner */ .woocommerce .blockUI.blockOverlay, .woocommerce .blockUI.blockMsg, .woocommerce-loader { position: relative !important; display: none !important; }
方案2:通过wp_enqueue_scripts钩子卸载对应脚本
你之前测试的代码存在逻辑错误:判断条件写反了,现有代码是「非WooCommerce页面才卸载jquery-blockui脚本」,反而WooCommerce相关页面还在正常加载该脚本,因此无法生效。
如果确认站点没有其他插件/主题依赖jquery-blockui、jqueryui脚本,可以使用该方案,将以下代码放到子主题functions.php或自定义代码片段插件中即可:
add_action( 'wp_enqueue_scripts', 'child_remove_woocommerce_blockui_script', 99 ); function child_remove_woocommerce_blockui_script() { // 仅在WooCommerce相关页面卸载对应脚本 if ( is_woocommerce() || is_shop() || is_product_category() || is_product_tag() || is_product() || is_cart() || is_checkout() || is_account_page() ) { wp_dequeue_script( 'jquery-blockui' ); // 如无其他地方依赖jqueryui可保留以下行,否则删除 wp_dequeue_script( 'jqueryui' ); } }
注意:卸载脚本后如果出现WooCommerce交互异常,说明有其他功能依赖该脚本,建议换回方案1即可。
内容的提问来源于stack exchange,提问作者Ross
相关产品推荐
相关产品推荐

