- 状态
- 已解决
- 报告针对
- 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. 保存文件并进行测试。