Khi vận hành một cửa hàng trực tuyến trên nền tảng WooCommerce, việc gặp phải tình trạng “woocommerce add to cart spinner mãi” là một trong những lỗi phổ biến và gây khó chịu nhất. Biểu tượng vòng tròn xoay (spinner) xuất hiện và không biến mất khi người dùng nhấn nút “Thêm vào giỏ hàng” khiến họ không thể hoàn tất giao dịch. Điều này không chỉ ảnh hưởng đến trải nghiệm người dùng mà còn trực tiếp làm giảm tỷ lệ chuyển đổi và doanh thu. Bài viết này sẽ phân tích toàn diện nguyên nhân và cung cấp các giải pháp khắc phục triệt để lỗi spinner xoay mãi trong WooCommerce.
Bản Chất Của Lỗi WooCommerce Add to Cart Spinner Mãi

Lỗi “woocommerce add to cart spinner mãi” xảy ra khi quá trình AJAX (Asynchronous JavaScript and XML) gửi yêu cầu thêm sản phẩm vào giỏ hàng bị gián đoạn hoặc không nhận được phản hồi từ máy chủ. Khi người dùng nhấn nút “Thêm vào giỏ hàng”, WooCommerce sử dụng JavaScript để gửi yêu cầu bất đồng bộ đến máy chủ. Nếu quá trình này không hoàn tất, spinner sẽ tiếp tục xoay vô thời hạn.
Thông thường, quy trình AJAX trong WooCommerce diễn ra như sau:
- Người dùng nhấn nút “Thêm vào giỏ hàng”
- JavaScript gửi yêu cầu POST đến admin-ajax.php
- Máy chủ xử lý yêu cầu và thêm sản phẩm vào session
- Máy chủ trả về phản hồi thành công hoặc thất bại
- JavaScript nhận phản hồi và cập nhật giao diện (spinner dừng, hiển thị thông báo)
- Plugin tối ưu hóa tốc độ (WP Rocket, W3 Total Cache, Autoptimize)
- Plugin kéo thả page builder (Elementor, Divi, WPBakery)
- Plugin bảo mật (Wordfence, Sucuri)
- Plugin tùy chỉnh giỏ hàng hoặc thanh toán
- “Uncaught TypeError: $(…).something is not a function” – xung đột jQuery
- “Failed to load resource: the server responded with a status of 500” – lỗi máy chủ
- “Uncaught ReferenceError: wc_add_to_cart_params is not defined” – thiếu biến JavaScript
- Vào WooCommerce -> Status -> Tools
- Chọn “Create default WooCommerce pages” để đảm bảo các trang cần thiết tồn tại
- Tắt tất cả plugin qua Plugins -> Installed Plugins
- Kích hoạt lại WooCommerce và theme mặc định (Storefront hoặc Twenty Twenty-Four)
- Kiểm tra chức năng thêm vào giỏ hàng
- Kích hoạt từng plugin và kiểm tra lại
- Xóa toàn bộ cache từ plugin cache (WP Rocket, W3 Total Cache, WP Super Cache)
- Xóa cache trình duyệt (Ctrl + Shift + Delete trên Chrome)
- Vô hiệu hóa tạm thời tính năng kết hợp và nén JavaScript trong plugin cache
- Thêm ngoại lệ cho các tệp JavaScript của WooCommerce (thường nằm trong thư mục /wp-content/plugins/woocommerce/assets/js/)
- Flatsome – cần cập nhật phiên bản mới nhất
- Avada – xung đột với Fusion Builder
- The7 – cần tắt tính năng “AJAX add to cart” trong cài đặt theme
Khi bất kỳ bước nào trong chuỗi này bị lỗi, spinner sẽ xoay mãi không dừng.
Nguyên Nhân Chính Gây Ra Lỗi Spinner Xoay Mãi

Xung Đột JavaScript (JavaScript Conflicts)
Đây là nguyên nhân phổ biến nhất dẫn đến lỗi “woocommerce add to cart spinner mãi”. Khi theme hoặc plugin khác tải các thư viện JavaScript không tương thích, quá trình AJAX của WooCommerce có thể bị chặn hoặc ghi đè. Các lỗi JavaScript thường xuất hiện trong bảng điều khiển trình duyệt (browser console) dưới dạng thông báo lỗi màu đỏ.
Các plugin thường gây xung đột bao gồm:
Vấn Đề Về Bộ Nhớ Đệm (Cache)
Cache trình duyệt hoặc cache máy chủ có thể lưu trữ phiên bản cũ của các tệp JavaScript và CSS. Khi WooCommerce cập nhật hoặc bạn thay đổi cấu hình, các tệp cache cũ vẫn được tải, dẫn đến xung đột và spinner không dừng. Cache plugin thường kết hợp và nén các tệp JavaScript, vô tình làm hỏng mã nguồn AJAX.
Lỗi Từ Máy Chủ (Server-Side Errors)
Máy chủ hosting có thể gặp vấn đề về tài nguyên như giới hạn bộ nhớ PHP, thời gian thực thi tối đa (max execution time) quá thấp, hoặc cấu hình mod_security chặn các yêu cầu AJAX. Lỗi 500 Internal Server Error hoặc 403 Forbidden thường đi kèm với tình trạng spinner xoay mãi.
Sự Cố Với Plugin Bảo Mật Hoặc Tường Lửa
Một số plugin bảo mật như Wordfence, iThemes Security, hoặc tường lửa ứng dụng web (WAF) có thể chặn các yêu cầu AJAX từ WooCommerce vì cho rằng đó là hành vi đáng ngờ. Điều này đặc biệt phổ biến khi plugin bảo mật kích hoạt tính năng kiểm tra nonce hoặc giới hạn tốc độ yêu cầu.
Lỗi Từ Theme WooCommerce
Theme không tương thích hoặc được tùy chỉnh kém có thể thiếu các hook và action cần thiết cho quá trình AJAX. Một số theme ghi đè các tệp template của WooCommerce một cách không đúng cách, dẫn đến mất chức năng thêm vào giỏ hàng.
Hướng Dẫn Khắc Phục Lỗi WooCommerce Add to Cart Spinner Mãi

Kiểm Tra Lỗi JavaScript Trên Trình Duyệt
Bước đầu tiên và quan trọng nhất là kiểm tra bảng điều khiển trình duyệt để xác định lỗi JavaScript cụ thể. Trên Google Chrome, nhấn F12 hoặc chuột phải chọn “Inspect” -> tab “Console”. Nếu thấy các thông báo lỗi màu đỏ, đó là manh mối trực tiếp về nguyên nhân.
Các lỗi phổ biến thường thấy:
Tắt Từng Plugin Để Xác Định Xung Đột
Đây là phương pháp truyền thống nhưng hiệu quả nhất để tìm ra plugin gây xung đột. Tắt tất cả plugin ngoại trừ WooCommerce, sau đó kích hoạt từng plugin một và kiểm tra xem lỗi có xuất hiện không. Nếu lỗi biến mất khi tắt một plugin cụ thể, đó chính là thủ phạm.
Quy trình thực hiện:
Xóa Cache Và Tối Ưu Hóa Tệp JavaScript
Nếu sử dụng plugin cache, hãy thực hiện các bước sau:
Kiểm Tra Và Tăng Giới Hạn Tài Nguyên Máy Chủ
Cấu hình PHP không đủ có thể khiến quá trình AJAX thất bại. Các giá trị tối thiểu nên thiết lập:
| Tham số PHP | Giá trị khuyến nghị |
|---|---|
| memory_limit | 256M hoặc cao hơn |
| max_execution_time | 300 giây |
| max_input_time | 300 giây |
| post_max_size | 64M |
| upload_max_filesize | 64M |
Liên hệ với nhà cung cấp hosting để thay đổi các giá trị này trong file php.ini hoặc thông qua giao diện quản lý hosting (cPanel, Plesk).
Vô Hiệu Hóa Tính Năng Bảo Mật Tạm Thời
Nếu sử dụng Wordfence, tạm thời tắt tính năng “Block countries” và “Rate limiting” trong mục Wordfence -> Firewall -> Rate Limiting Rules. Đối với iThemes Security, tắt tính năng “Filter Suspicious Query Strings” và “Filter Long URL Strings”. Kiểm tra lại chức năng thêm vào giỏ hàng sau mỗi lần thay đổi.
Cập Nhật Và Kiểm Tra Tính Tương Thích Của Theme
Đảm bảo theme của bạn đang sử dụng phiên bản mới nhất và tương thích với phiên bản WooCommerce hiện tại. Nếu theme có tùy chỉnh riêng cho WooCommerce, hãy kiểm tra các tệp template trong thư mục /wp-content/themes/your-theme/woocommerce/. So sánh với các tệp template gốc từ WooCommerce để phát hiện sự khác biệt.
Các theme phổ biến thường gây lỗi spinner:
Sai Lầm Thường Gặp Khi Xử Lý Lỗi Spinner

Chỉ Dựa Vào Plugin Sửa Lỗi Tự Động
Nhiều người dùng cài đặt các plugin hứa hẹn “sửa lỗi AJAX” hoặc “tối ưu giỏ hàng” mà không kiểm tra nguyên nhân gốc. Điều này thường làm tình hình tồi tệ hơn do tạo thêm xung đột JavaScript. Luôn ưu tiên phương pháp thủ công để xác định nguyên nhân trước khi áp dụng giải pháp.
Xóa Toàn Bộ Cache Mà Không Kiểm Tra Cấu Hình
Xóa cache chỉ là giải pháp tạm thời. Nếu cấu hình cache không đúng (ví dụ: loại trừ các tệp WooCommerce khỏi quá trình kết hợp JavaScript), lỗi sẽ tái diễn sau lần tải cache tiếp theo. Cần điều chỉnh cài đặt cache một cách chính xác.
Bỏ Qua Lỗi Từ CDN Hoặc Proxy
Nếu sử dụng CDN như Cloudflare, các quy tắc tối ưu hóa tự động (Auto Minify, Rocket Loader) có thể làm hỏng JavaScript của WooCommerce. Tạm thời tắt các tính năng này trong Cloudflare dashboard và kiểm tra.
Lưu Ý Quan Trọng Khi Khắc Phục

Sao lưu toàn bộ website trước khi thực hiện bất kỳ thay đổi nào. Sử dụng plugin sao lưu như UpdraftPlus hoặc thực hiện sao lưu thủ qua cPanel. Điều này đảm bảo
Nguyên nhân chính là do xung đột JavaScript giữa WooCommerce và plugin hoặc theme khác. Khi quá trình AJAX bị gián đoạn, spinner không nhận được tín hiệu dừng từ máy chủ. Các yếu tố khác bao gồm cache không đúng cách, lỗi máy chủ, hoặc plugin bảo mật chặn yêu cầu.
Làm thế nào để kiểm tra lỗi JavaScript trên website?
Mở trình duyệt, nhấn F12 để mở Developer Tools, chuyển đến tab “Console”. Tải lại trang và thực hiện thao tác thêm vào giỏ hàng. Các thông báo lỗi màu đỏ sẽ hiển thị chi tiết về vấn đề JavaScript. Chụp ảnh màn hình lỗi để dễ dàng tra cứu giải pháp.
Có cần phải tắt tất cả plugin để khắc phục lỗi không?
Không cần tắt tất cả cùng lúc. Phương pháp hiệu quả là tắt từng plugin một và kiểm tra sau mỗi lần tắt. Bắt đầu với các plugin liên quan đến cache, bảo mật, và tối ưu hóa tốc độ vì đây là những plugin thường gây xung đột nhất.
Lỗi spinner có liên quan đến hosting không?
Có, hosting có thể là nguyên nhân nếu máy chủ không đáp ứng được các yêu cầu tài nguyên tối thiểu cho WooCommerce. Giới hạn bộ nhớ PHP thấp, thời gian thực thi ngắn, hoặc cấu hình mod_security quá nghiêm ngặt đều có thể gây lỗi. Nên nâng cấp lên hosting WordPress chuyên dụng hoặc VPS.
Sau khi khắc phục, lỗi có thể tái phát không?
Có thể tái phát nếu bạn cài đặt plugin mới, cập nhật theme, hoặc thay đổi cấu hình cache. Để phòng ngừa, luôn kiểm tra chức năng thêm vào giỏ hàng sau mỗi lần cập nhật. Duy trì danh sách các plugin đã được kiểm chứng là tương thích với WooCommerce.
Kết Luận
Lỗi “woocommerce add to cart spinner mãi” là một vấn đề kỹ thuật có thể khắc phục triệt để nếu áp dụng đúng quy trình. Bắt đầu bằng việc kiểm tra lỗi JavaScript trên trình duyệt, sau đó tiến hành tắt plugin để xác định xung đột, kiểm tra cấu hình cache và tài nguyên máy chủ. Luôn sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào và kiểm tra kỹ lưỡng trên nhiều trình duyệt khác nhau.
Việc duy trì một website WooCommerce ổn định đòi hỏi sự chú ý thường xuyên đến các bản cập nhật và tương thích giữa các thành phần. Nếu đã thử tất cả các giải pháp trên mà lỗi vẫn tồn tại, hãy cân nhắc thuê một nhà phát triển WordPress chuyên nghiệp để kiểm tra sâu hơn mã nguồn và cấu hình máy chủ. Một giỏ hàng hoạt động trơn tru là yếu tố then chốt để tối ưu tỷ lệ chuyển đổi và mang lại trải nghiệm mua sắm tốt nhất cho khách hàng.
- Theme WordPress Lifecycle Là Gì? Vòng Đời Của Một Giao Diện WordPress Từ A Đến Z
- Plugin Affiliate Lỗi Link Affiliate: Nguyên Nhân, Cách Khắc Phục và Phòng Tránh Toàn Diện
- WordPress Database Lock: Nguyên Nhân, Cách Nhận Diện Và Xử Lý Dứt Điểm
- WordPress Header Là Gì? Hướng Dẫn Toàn Diện Từ A-Z Cho Người Mới Bắt Đầu
- WordPress chmod lỗi – Thông tin chi tiết 2026














