!
也想出现在这里? 联系我们
广告位

禁用 WooCommerce 样式和JS脚本购物车片段AJAX

WooCommerce 在每个页面上加载三个核心 CSS 样式表,并在 WordPress 站点上安装时发布。可以通过从不需要它的页面和内容中删除样式和脚本来节省一些页面加载时间。它还从用于其功能的库中加载了许多其他 javascript 和 CSS 样式。WordPress 禁用 WooCommerce 购物车片段 AJAX(wc-ajax = getl ( 4 5 w u #_refreshed_fragments)WooCommerce 网站,特别是大型网站,几乎总是会遇到下面的 AJAX 请求的加载时间问题。以下是如何以不同方式加载这些文件,以便它们仅出现在需要的o S i \ V 4 1页面上,从而加快非 WooCV V ` = E , Oommerce 内容的页面加载时间。

  1. https://domain.com/?wc-ajax=get_refreshed_fragments

即使在我们的小型 WooCommerce 测试网站上,它也比其他任何请求花费z v * c的时间更长,并且不需要,因为它在主页上。在大型网站上,我们已经看到这个账户长达 10 秒的延迟!没错,10 秒。

Woo} \ t : H } & \Commm a J v 3 _ u z ?erce 中的购物车碎片特征和/或 AJAX 请$ , V [ ^ $ & [ |求用于在不刷新页面的情况下更新购物车总量。然而,这绝对是花费和很多次,这取决于你的主题,甚至没有被使用或需要。
可以通过修改/ 5 ` ]主题的 funct3 ( 3 ( R h 9ions.php 文件来解决,有三种选项,自己选择:

  • 仅禁用网站首页上的购物车分段
  • 仅停用首页和帖子中的购物车分段
  • 在除商店页面之外的所有页面上禁用所有 WooCommerce 样式和脚本。

1、在首页禁L O W C G | 0 [ j用购物车碎片

  1. /** Disable Ajax Call from WooCommerce */
  2. adv + e # # C \ B Ed_action( 'wp_enqueue_scrY x O qipts', 'deq\ = N F (ueue_woocomme5 * 2 F f F S g |rce_cart_fragments', 11);
  3. fu/ ] 4 * } k ^ enction dequeuW g g 6 d R Ye_woocommerce_cart_fragments() {z w R; if (is_front_page7 ! O j , 7 K()M 1 4 U ];) wp_dequeue_script~ G h X # M ,('wc4 Z ; ] --cart-fragments'); }

X _ ] A functions.php 文件添加以上代码

回到网站后台,打开 WooCommerce>设置 ”菜单,然后转到“ 产品 ”选项卡下的“ 显示 ”部分。启\ Z - D 0 p用“ 添加成功后重定向到购物车页面 ”选项。

2、在首页和文章上禁用购物车碎片

  1. /** Disable Ajax Call from WooCommerce on front pag{ } 3 a s A j k ye and posts*/
  2. add_action( 'wp_enqueue_scripts', 'dequeue_wooc, g , d / d 9ommerce_cart_fragmentsR V o p J O', 119 , w d Q \);
  3. function dequE e a b weue_woocommerce_cart_fragments() {
  4. if (is_front_page() || is_single() ) wp_dequeue_scrip[ P 5 r M 8 Q H Yt('wc-cart-fragments');
  5. }

在 fuv n u ; u W w 0 xnctions.php 文件添加以上代码。

3、整个站点范围内禁用所有 WooCom9 g ~ _ * n 6 B cmerce 样式和脚本

  1. /** Disable All WooCommerce SR 4 9 7 K Rtyles and Scripts Except Shop Pages*/
  2. add_action( 'wp_en3 L ) w } N 6 Kqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99 );
  3. function dequeue_woocommerce_styles_scripts(* ; = C _ 9) p a g d j d ,123;
  4. if ( function_exists( 'is_woocommerce' ) ) {
  5. if 7 x r &0; ! is_woocod n x W H .mmerce() && ! is_cart() && ! is_checkout() ) {
  6. # Styles
  7. wp_dequeue, + [ e @ , 6_style( 'woocommerce-gE K n b 8 l T qeneral' );
  8. wp_dequeue_style( 'woocommerce-layout' );
  9. wp_dequeue_style( 'woocommerce-smallscreen' );
  10. wp_dequeue_style( 'woocomf z |merce_frontend_styles' );
  11. wp_dequeue_style( 'woocommerce_fancybox_styles' );
  12. wp_dequeue_style( 'woocom? ( ? 1 % s qmerce_chosen_styI I ( c ; _les' );
  13. wp_dequeue_styleL $ B i N0; 'woocommerce_prettyPhoto_css' );
  14. # Scripts
  15. wp_de{ \ e 1 {queue_u & 3 6 T * o vscript( 'wc_price_slider' );
  16. wp_dequeue_script( 'wc-single-product' );
  17. wp_dequc W 2 A D : feue_scrb : / z u W p ?ipt( 'wc-a| k S , , W Bdd-to-cart' );
  18. ws ? ] T k K r pp_dequeue_script( 'wc-cart-fragments' ) 7 y [ i (1;;
  19. wp_dequeK b t 1 ( Cue_script( 'wc-checkout'2 % B k c H , );
  20. wp_dequeut R 6 Q 1 d te_script( 'wc-add-to-cart-variatio% \ yn' );
  21. wp_P U 9dequeue_script( 'wc-single-product_ ) M q 1 ^ { X e' );
  22. wp_dequeue_script( 'wc-cart' ` ( | ~ * * 641;q Z T 5 x F & P Y;
  23. wp_dequeue_script( 'wa s [c-chosenK | \ A 3 q 8' );
  24. wp_dequeue_script&) F g R [#40; 'woocommerce' + q d j \41;;
  25. wp_dequeue_script( 'prettyPhoto' );
  26. wp_dequeue_script( 'prettyPht k 7oto-init' );
  27. wp_dequeueU h = U q d_script( 'jquery-blockui' );
  28. wp_dequeue_script( 'jquery-placeholder' );
  29. wp_dequeue_script( 'fancybox' );
  30. wp_dequeue_script( 'jqueryui' );
  31. }
  32. }
  33. }

在 functions.php 文件添加以上代码。

如果您正在构建自定义商城主题,这是推荐的过程。删除默认的 WooCommerce 样式表并加载使用自己的样式表,将在 Wo1 7 Q | 5 s 9 !oCommerce 核心更新期间保护样式。如果您想禁用特定的样式表,你可以使用以下代码:

  1. /**
  2. * 在主题激活y y 4 \ ] x时设置WooCommerce图像尺寸
  3. */
  4. // 逐个删除每个样式
  5. add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' );
  6. function jk_dequeue_styles( $enqueue_styles ) {
  7. unset( $enqueue_styles['woocommerce-general'] ); // Remove the gloss
  8. unseN q |t( $enqueue_styles['woocommerce-layout'] ); // Remove the layout
  9. unset( $enqueue_styles['woocommerce-smallscreen'] ); // Remove the smallscreen optimisatiom ~ } % O 2 U , Tn
  10. return $enqueui 1 6 d H 2 t , 4e_styles;
  11. }

然后像l E g _ : ! Q 0 }这样排列你自己的样式表:

  1. /*r a $ W*
  2. * 加载自己的样式表
  3. */
  4. function wp_enqueue_wooco P A 2ommerce_style&} \ u 3 y P (){
  5. wp_register_st u y Y Rtyle( 'm\ + p _ytheme-woocommerce', get_tem6 5 p Q e wplate_directory_uri(% Y $ & s ] \ *41; . '/css/woocommerO 5 M \ / E y Cce.css' );
  6. if (m P e k class_exists( 'woocommerc] p ) ge' : z v41; ) {p H t w g _ E % 5;
  7. wp_enqueue_style( 'mytheme-woocommerce' );
  8. }
  9. }
  10. add_action2 u p L0; '0 Z M ^ r 7 `wp_= a u C e \ e penqueue_scripts', 'wp_enqueue_woog ( 9 ? n t o i bcommerce_style' );

禁用所有 CSS 样; D } Z 4 t式和 JS 脚本 Woo 提供了一个过滤器L R r / Y , 4,可以删除所有 3 个或单独的一个。

  1. /**
  2. * 禁用 WooCommerce 所有的 CSSh 7 7 样式和 JS 脚N - i | Z [
  3. */
  4. add_action( 'template_redirect', 'remove_woocommerce_styles_scripts', 999 );
  5. function remove_woocommerce_styles_scripts(&* 6 S s X#41; {
  6. if ( function_exists( 'is_woocommerce'k X 1 ] ! U p l I ) ) {
  7. if ( ! is_wooc# 5 ( D # A ? - _ommerce() && ! is_cart() &I u ; F 1 ; B& ! is_checkout() ) {
  8. rei 8 * u emove_action('wp_enqueue_scripts', O - h J . & ) 0 E91;WC_FronN - g k stend_Scripts::class, 'X % 0 ( gload_e X N S 6 u C 0scripts']);
  9. remove_action('wp_print_scripts', [WC_Frontend_Scripts::class, 'localize_printed_scripts'], 5);
  10. remove_action('wp_print_footer_scripts', [WC_Frontend_Scr\ E ; @ b _ gipts::class, '7 ! C ] y = ; )localize_printed_scripts'], 5);
  11. s W O * 75;
  12. }
  13. &y i D J#125;

使用这段代码就不需要使用其它代码,在不是 WooCo~ ] S D Q W & @ 8mmerce 的相关页面,购物车和结算的其它页面都将禁用所有 CSS 样式和 JS 脚本,这样对于其它页面的加载速度会有很大的提高。

不要贪心,选择适合自己的一种代码添加就可以了% ; S,不要在 functions.php 文件中同时添加这几个代码。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 获取文章中所有图片的几种方法

2022-8-5 14:23:50

WordPress教程

从WooCommerce优惠券中排除某个产品使其永不打折

2022-8-5 14:25:01

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索