Sửa lỗi giỏ hàng WooCommerce

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Sửa lỗi giỏ hàng WooCommerce

Sau một thời gian sử dụng WooCommerce, bạn phát giác ra không thể thêm sản phẩm vào giỏ hàng hay mỗi lần thêm sản phẩm vào giỏ hàng nhưng chẳng thể xóa. Đó là một trong số lỗi giỏ hàng phổ biến. Nếu bạn không thể xóa sản phẩm trên giỏ hàng , thậm trí xóa cache trình duyệt. Trong bài viết này bạn sẽ gợi ý các cách để bạn có thể sửa lỗi này.

Lỗi giỏ hàng – Không thể xóa mặt hàng

Đầu tiên, bạn kiểm tra giao diện WordPress, có tương thích với phiên bản WooCommerce của bạn đang dùng. bằng phương pháp truy cập WooCommerce > Status. Trang này sẽ nói cho bạn các files & hàm không tương thích, đó là tệp template của WooCommerce phiên bản cũ. Bạn cũng nên nâng cấp mới WordPress & cập nhật plugin WooCommerce thường xuyên. Nếu sau khi cập nhật lỗi vẫn chưa được giải quyết, bạn có thể tham khảo những nguyên do lỗi giỏ hàng trong WooCommerce.

WooCommerce quản lý giỏ hàng bởi table woocommerce_sessions . Dữ liệu của bảng này sẽ tăng nhanh chóng khi website có lượng truy cập nhiều. Mỗi khi người sử dụng thêm mặt hàng vào giỏ hàng, một bản ghi mới được thêm nữa bảng này. Nếu bạn gặp lỗi không thêm sản phẩm, nghĩa là không lưu giá trị vào bảng woocommerce_sessions thất bại. Điều này hiếm khi xẩy ra?

Ngược lại, sản phẩm trong giỏ hàng không thể xóa nghĩa là dữ liệu trong bảng này sẽ không mất đi, khi thực hành thao tác xóa.

Khi mình sửa chữa website WordPress cho khách hàng, nhiều người đã biết thành lỗi này & không biết phải sử lý như thế nào. Và mình đã tìm ra một vấn đề chủ chốt. Nguyên nhân này dẫn đến bảng woocommerce_sessions hoạt động không chính xác. Khi di chuyển wordpress site hay sao lưu dữ liệu bị gián đoạn hoặc convert WordPress SQLite , công đoạn đó rất có thể làm lỗi cấu trúc bảng.

WooCommerce khái niệm cấu trúc bảng woocommerce_sessions:

 CREATE TABLE `wp_woocommerce_sessions` ( `session_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `session_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL, `session_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `session_expiry` bigint(20) unsigned NOT NULL, PRIMARY KEY (`session_id`), UNIQUE KEY `session_key` (`session_key`) ) ENGINE=MyISAM AUTO_INCREMENT=3972 DEFAULT CHARSET=utf8  

Sử dụng lệnh sql sau bạn kiểm tra cấu trúc bảng này trên CSDL của bạn.

 show create table wp_woocommerce_sessions  

Bạn cũng có thể thiếu AUTO_INCREMENT với trường session_id. Để bổ xung kiểu AI tại giao diện phpMyadmin bạn bấm vào tùy chọn AI. sau đó nhấn Lưu để lại.

Nếu thiếu khai báo UNIQUE KEY, bạn có thể tạo lại key bằng lệnh SQL sau:

 ALTER TABLE wp_woocommerce_sessions DROP INDEX session_key, ADD UNIQUE KEY `session_key` (`session_key`)  

Hoặc nếu chẳng thể sử dụng lệnh trên chúng ta có thể tạo lại bảng wp_woocommerce_sessions với lệnh SQL dưới đây:

 CREATE TABLE `wp_woocommerce_sessions` ( `session_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `session_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL, `session_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `session_expiry` bigint(20) unsigned NOT NULL, PRIMARY KEY (`session_id`), UNIQUE KEY `session_key` (`session_key`) ) ENGINE=MyISAM AUTO_INCREMENT=3972 DEFAULT CHARSET=utf8  

Nếu bạn tìm ra một lý do khác cho lỗi này, xin chia sẻ với chúng tôi bằng cách để lại bình luận dưới bài viết này nhé. Chúc bạn thành công.

Nếu bạn thích bài viết này, hãy cỗ vũ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và hãy nhớ chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể có thể theo dõi blog này trên Twitter và Facebook

Bài viết Sửa lỗi giỏ hàng WooCommerce được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang