Bây giờ chúng ta hãy đến với những điểm chính. Do số lượng lớn các yêu cầu AJAX ( wc-ajax = get_refreshed_fragment ) trên trang web của bạn. Các yêu cầu AJAX thường không được lưu vào bộ nhớ cache và mất vài giây để tải, dẫn đến tăng thời gian tải trang của bạn. Để giải quyết vấn đề này, bạn phải vô hiệu hóa các phân đoạn giỏ hàng WooCommerce AJAX. Hãy xem nó là gì và nó hoạt động như thế nào. gomahamaya.com/disable-woocommerce-cart-fragments-ajax
Phân đoạn giỏ hàng WooCommerce là gì?
Vô hiệu hóa WooCommerce Cart Fragment wc-ajax = get_refreshed_fragment , là một tập lệnh sử dụng quản trị viên AJAX. Tập lệnh cố gắng thu thập thông tin giỏ hàng của bạn bằng cách gọi tập lệnh và do đó cập nhật giỏ hàng của bạn mà không cần làm mới trang. Nó cố gắng thu thập thông tin chi tiết về giỏ hàng chưa được lưu trữ, làm chậm tốc độ trang web của bạn và tiêu tốn nhiều tài nguyên máy chủ. Vấn đề chính là nó cũng hoạt động trên các trang không chứa thông tin chi tiết về giỏ hàng hoặc thông tin liên quan đến sản phẩm. Lệnh gọi AJAX thường ghi đè plugin bộ nhớ đệm mà bạn thực hiện để tối ưu hóa Thương mại điện tử của mình. Nó phù hợp với trang web của bạn về mặt giao diện người dùng nhưng mặt khác, tiêu tốn rất nhiều thời gian tải trang.
Ví dụ: các phân đoạn giỏ hàng trên các bài đăng tĩnh hoặc trang nguồn cấp dữ liệu như trang Giới thiệu về chúng tôi, trang liên hệ với chúng tôi, trang blog không yêu cầu thông tin giỏ hàng sẽ làm chậm tốc độ trang web của bạn và dẫn đến hiệu suất trang web kém. Do đó, thay vì xóa nút giỏ hàng khỏi các trang này, chúng tôi phải vô hiệu hóa các phân đoạn giỏ hàng hoặc tắt cập nhật giỏ hàng.
Để xác định các phân đoạn giỏ hàng trên trang web của bạn, bạn cần chạy kiểm tra tốc độ trang như Google Page Speed Insights Tool hoặc GTMetrix. Vì vậy, để Khắc phục sự cố phân đoạn giỏ hàng, chúng tôi đã tách blog thành hai phương pháp. Một phương pháp sử dụng plugin và phương pháp thứ hai được thực hiện bằng cách lập trình mã hóa mà không cần plugin .
Cách vô hiệu hóa các phân đoạn giỏ hàng trong WooCommerce mà không cần plugin.
Có ba cách để tắt các phân đoạn giỏ hàng WooCommerce Ajax mà không cần plugin.
1. Tắt các phân đoạn giỏ hàng khỏi tất cả các trang
/** Disable Ajax Call from WooCommerce */add_action( ‘wp_enqueue_scripts’, ‘gomaya_dequeue_woocommerce_cart_fragments’, 11);
/** Disable Ajax Call from WooCommerce on entire website*/add_action( 'wp_enqueue_scripts', 'gomaya_dequeue_woocommerce_cart_fragments', 11);
function gomaya_dequeue_woocommerce_cart_fragments() { wp_dequeue_script( 'wc-cart-fragments' ); return true; }
2. Tắt trên trang đầu
Đi tới bảng điều khiển WordPress của bạn để vô hiệu hóa các phân đoạn giỏ hàng WooCommerce AJAX trên trang đầu. Sau đó, điều hướng đến Giao diện và nhấp vào Trình chỉnh sửa. Tại đây, bạn phải thêm mã để vô hiệu hóa Cuộc gọi Ajax từ WooCommerce ở cuối tệp này. Sau khi thêm mã vào tệp này, hãy nhấp vào nút Cập nhật để lưu các thay đổi của bạn.
/** Disable Ajax Call from WooCommerce front page */add_action( 'wp_enqueue_scripts', 'gomaya_dequeue_woocommerce_cart_fragments', 11);
function gomaya_dequeue_woocommerce_cart_fragments() { if (is_front_page()) wp_dequeue_script('wc-cart-fragments'); }
Bạn cũng có thể sử dụng Giao thức truyền tệp (FTP) để vô hiệu hóa tập lệnh Phân đoạn giỏ hàng WooCommerce Ajax trên trang đầu của trang web của bạn. Để bắt đầu, hãy đăng nhập vào tài khoản FTP của bạn và điều hướng đến wp-content. Bên trong wp-content, bạn phải tìm chủ đề của mình và định vị tệp functions.php.
Tại đây, bạn phải thêm mã để vô hiệu hóa Cuộc gọi Ajax từ WooCommerce vào cuối tệp này. Sau đó, tải tệp cập nhật lên máy chủ của bạn.
Sau khi cập nhật tệp lên máy chủ, hãy truy cập WooCommerce và nhấp vào tab cài đặt. Sau đó, chuyển đến tab sản phẩm và nhấp vào phần “Hiển thị”. Tại đây, bạn sẽ tìm thấy phần có tên “Hành vi Thêm vào giỏ hàng” Bạn phải bật hộp kiểm với tùy chọn “Chuyển hướng đến trang giỏ hàng sau khi thêm thành công” trong phần này.
3.Tắt trên trang đầu và bài đăng
Để vô hiệu hóa các phân đoạn giỏ hàng WooCommerce trên trang đầu của bạn, bạn phải làm theo các bước trên.
Nếu bạn muốn tắt tập lệnh WooCommerce Cart Fragment trên các bài đăng của mình, bạn phải thêm mã sau vào cuối tệp function.php của chủ đề.
/**
* @snippet Disable Ajax Call from WooCommerce on front page and posts - WooCommerce
* @author Gomahamaya.com
* @donate $5 https://www.paypal.com/paypalme/gomahamaya
*/add_action( 'wp_enqueue_scripts', 'gomaya_dequeue_woocommerce_cart_fragments', 11);
function gomaya_dequeue_woocommerce_cart_fragments() {
if (is_front_page() || is_single() ) wp_dequeue_script('wc-cart-fragments');
}
4.Đang tắt trên tất cả các trang ngoại trừ trang cửa hàng.
WooCommerce bao gồm một số bảng định kiểu và tập lệnh sử dụng tài nguyên máy chủ của bạn để tải, do đó, làm chậm tốc độ trang web của bạn. Bạn có thể tắt tập lệnh phân đoạn giỏ hàng trên tất cả các bài đăng trên blog của mình để tiết kiệm việc sử dụng tài nguyên của máy chủ và nâng cao thời gian tải trang web của bạn. Bạn chỉ có thể áp dụng các tập lệnh liên quan đến WooCommerce trên các trang cửa hàng của mình. Điều này sẽ giúp trang web của bạn tải nhanh hơn và cung cấp cho người dùng trải nghiệm liền mạch trên trang web của bạn.
/** Disable All WooCommerce Styles and Scripts Except Shop Pages*/add_action( 'wp_enqueue_scripts', 'gomaya_dequeue_woocommerce_styles_scripts', 99 );
function gomaya_dequeue_woocommerce_styles_scripts() { if ( function_exists( 'is_woocommerce' ) ) { if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) { # Styles wp_dequeue_style( 'woocommerce-general' ); wp_dequeue_style( 'woocommerce-layout' );
wp_dequeue_style( 'woocommerce-smallscreen' );
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
# Scripts
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' ); } }
Bạn phải áp dụng bất kỳ khối mã nào trong số ba khối mã này để vô hiệu hóa các tập lệnh phân đoạn giỏ hàng WooCommerce, tức là, wc-ajax = get_refreshed_fragment, từ tất cả các trang và bài đăng ngoại trừ các trang mua sắm trên trang WooCommerce của bạn.
5. Tắt phân đoạn giỏ hàng bằng plugin
a. WP Rocket
Đây là một trong những plugin bộ nhớ đệm WordPress tốt nhất giúp bạn nâng cao tốc độ trang web của mình và bạn cũng không cần sử dụng bất kỳ mã nào. Thiết lập và sử dụng plugin này không phải là khoa học tên lửa. Tất cả những gì bạn cần làm là cài đặt và kích hoạt plugin, và sau đó, nó sẽ làm cho bạn. Khi bạn kích hoạt plugin trên trang WooCommerce của mình, nó sẽ tự động phát hiện và vô hiệu hóa các đoạn dấu mũ WooCopmmerce trên tất cả các trang của trang web của bạn.
Plugin phát hiện các đoạn giỏ hàng trong mã nguồn của các trang của bạn và kiểm tra xem giỏ hàng có trống trong khi tải trang hay không. Nếu cả hai điều kiện được đáp ứng, WP Rocket sẽ lưu vào bộ nhớ cache của trang và vô hiệu hóa các lệnh gọi AJAX trên trang của bạn.
b. Disable Cart Fragments by Optimocha
Vô hiệu hóa phân đoạn giỏ hàng của Optimocha là một plugin dễ sử dụng vô hiệu hóa tất cả các tập lệnh phân đoạn giỏ hàng WooCommerce và giúp trang web của bạn tải nhanh hơn. Plugin chỉ hoạt động khi giỏ hàng trống. Khi sản phẩm có trong giỏ hàng, plugin cũng sắp xếp lại tập lệnh. Do đó, plugin này hoạt động tốt nhất trong cả hai trường hợp, i., E., Nó giúp bạn lưu vào bộ nhớ cache trang web của mình và hiển thị tổng số giỏ hàng khi và khi người dùng thêm sản phẩm vào giỏ hàng. Phần tốt nhất về plugin này là bạn không cần phải thực hiện cài đặt. Bạn phải cài đặt và kích hoạt plugin, sau đó nó sẽ tự động làm nhiệm vụ cho bạn.
c. Perfmatters
Plugin Perfmatters giúp bạn Vô hiệu hóa (wc-ajax = get_refreshed_fragment) các đoạn giỏ hàng WooCommerce AJAX. Để vô hiệu hóa các phân đoạn giỏ hàng WooCommerce bằng Perfamatters, hãy đảm bảo rằng bạn đã cài đặt và kích hoạt WooCommerce.
Sau đó, chuyển đến plugin Perfamatters và nhấp vào tab cài đặt.
Sau đó, điều hướng đến tab Tùy chọn và chọn menu Chung.
Sau đó, bạn phải cuộn xuống và tìm phần WooCommerce. Bên trong phần WooCommerce, chuyển đổi “Tắt phân mảnh giỏ hàng”. và nhấp vào nút “Lưu thay đổi”. Điều này sẽ giải quyết vấn đề của bạn và giúp trang web của bạn tải nhanh hơn.
Kiểm tra tốc độ trang
Sau khi thêm mã vào tệp function.php của the3mes, bạn phải xóa bộ nhớ cache của plugin bộ nhớ đệm. Sau khi vô hiệu hóa các phân đoạn giỏ hàng, hãy kiểm tra tốc độ tải trang web bằng cách sử dụng công cụ tốc độ . Bây giờ, chúng tôi có thể khắc phục sự cố tải tập lệnh wc-ajax = get_refreshed_fragment trong phần JavaScript chặn hiển thị trên Google PageSpeed Insights.
WooCommerce giúp bạn xây dựng một cửa hàng trực tuyến trong WordPress. Tuy nhiên, nó bao gồm một số bảng định kiểu và tập lệnh, điều này làm chậm trang web của bạn. Trong trường hợp như vậy, bạn có thể tắt tập lệnh phân đoạn giỏ hàng WooCommerce trên tất cả các trang và bài đăng ngoại trừ các trang cửa hàng để cải thiện tốc độ trang web của bạn.
Bài viết liên quan: