WPML
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.

Tất cả các lỗi đã ghi nhận →