WPML
الحالة
محلولة
أُبلغ عنها لـ
WPML Multilingual & Multicurrency for WooCommerce 4.6.1
تم حلها في
4.6.2.1

نظرة عامة على المشكلة

من الممكن مواجهة مشكلة مع WPML متعدد اللغات وتعدد العملات لـ WooCommerce 4.6.1 وربما الإصدارات السابقة أيضاً.

يظهر الخطأ مع انتهاء المهلة التالي:

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

حل بديل مؤقت

تحدث المشكلة بسبب وجود مفتاح meta يحمل الاسم _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. احفظ الملف واختبر.

جميع المشاكل المعروفة →