WPML
Статус
Решено
Заявлено для
WPML Multilingual & Multicurrency for WooCommerce 4.6.1
Решено в
4.6.2.1

Обзор проблемы

В WPML Multilingual & Multicurrency for WooCommerce 4.6.1, а также, вероятно, в предыдущих релизах может возникнуть проблема.

Ошибка проявляется в виде следующего тайм-аута:

PHP Fatal error: Maximum execution time of 60 seconds exceeded in /wp-includes/class-wp-hook.php on line 288

Обходное решение

Проблема вызвана наличием мета-ключа _thumbnail_id со значением, равным 0 (нулю).

Вы можете проверить это с помощью следующего запроса:

SELECT * FROM `wp_postmeta`
WHERE `meta_key` = '_thumbnail_id' AND `meta_value` = '0';

В качестве обходного решения Вы можете удалить эти значения из базы данных ИЛИ применить следующий патч:

1. Перейдите в папку ../wp-content/plugins/woocommerce-multilingual/inc/ и измените файл class-wcml-products.php.

2. Найдите следующую строку:

if( is_product() && !$this->woocommerce_wpml->products->is_original_product( $product_id ) ){

3. Измените эту строку на:

$is_original_product = $this->woocommerce_wpml->products->is_original_product( $product_id );
			if( is_product() && !$is_original_product ){

4. Теперь найдите следующую строку:

} elseif ( '_product_image_gallery' === $meta_key ) {

5. Измените эту строку на:

} elseif ( '_product_image_gallery' === $meta_key && !$is_original_product ) {

6. Наконец, найдите следующую строку:

} elseif ( '_thumbnail_id' === $meta_key ) {

7. Измените эту строку на:

} elseif ( '_thumbnail_id' === $meta_key && !$is_original_product ) {

8. Сохраните файл и проверьте.

Все известные проблемы →