- الحالة
- محلولة
- أُبلغ عنها لـ
- 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. احفظ الملف واختبر.