- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 4.6.1
- Đã giải quyết trong
- 4.6.2.1
Tổng quan về lỗi
Bạn có thể gặp phải sự cố với WPML Đa ngôn ngữ & Đa tiền tệ cho WooCommerce 4.6.1 và có thể cả các phiên bản phát hành trước đó.
Lỗi này biểu hiện bằng tình trạng hết thời gian chờ sau:
PHP Fatal error: Maximum execution time of 60 seconds exceeded in /wp-includes/class-wp-hook.php on line 288
Giải pháp tạm thời
Vấn đề này xảy ra do có một meta key là _thumbnail_id với giá trị bằng 0 (không).
Bạn có thể kiểm tra điều đó bằng truy vấn sau:
SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_thumbnail_id' AND `meta_value` = '0';
Như một giải pháp tạm thời, bạn có thể xóa các giá trị này khỏi cơ sở dữ liệu HOẶC áp dụng bản vá sau:
1. Truy cập vào thư mục ../wp-content/plugins/woocommerce-multilingual/inc/ và chỉnh sửa tệp class-wcml-products.php.
2. Tìm dòng sau:
if( is_product() && !$this->woocommerce_wpml->products->is_original_product( $product_id ) ){
3. Thay đổi dòng đó thành:
$is_original_product = $this->woocommerce_wpml->products->is_original_product( $product_id );
if( is_product() && !$is_original_product ){
4. Bây giờ, tìm dòng sau:
} elseif ( '_product_image_gallery' === $meta_key ) {
5. Thay đổi dòng đó thành:
} elseif ( '_product_image_gallery' === $meta_key && !$is_original_product ) {
6. Cuối cùng, tìm dòng sau:
} elseif ( '_thumbnail_id' === $meta_key ) {
7. Thay đổi dòng đó thành:
} elseif ( '_thumbnail_id' === $meta_key && !$is_original_product ) {
8. Lưu tệp và kiểm tra.