- الحالة
- محلولة بواسطة المطور
- تم حلها في
- Blocksy Companion 2.0.33
- الإضافة/القالب ذو الصلة
- Blocksy
- وسوم الموضوع
- Compatibility
نظرة عامة على المشكلة
في قالب Blocksy، عند استخدام ميزة Products Tab مع WPML، قد تُعرض علامات التبويب المترجمة إلى لغة ثانوية بشكل غير صحيح باللغة الأصلية في الواجهة الأمامية.
حل بديل مؤقت
تأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.
- افتح الملف …/wp-content/plugins/blocksy-companion-pro/framework/premium/extensions/woocommerce-extra/features/custom-tabs/feature.php
- ابحث عن السطر 139.
- استبدل:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, ]);
- بـ:
$all_products_tabs = get_posts([ 'numberposts' => -1, 'post_type' => $this->post_type, // WPML Workaround for compsupp-7255 - PART 1 'suppress_filters' => false ]);
- بعد ذلك، افتح الملف …/wp-content/plugins/blocksy-companion-pro/framework/features/conditions/rules-resolver.php
- ابحث عن السطر 364.
- استبدل:
if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; } - بـ:
// WPML Workaround for compsupp-7255 - Part 2 if ( class_exists('Sitepress') ) { $rule['payload']['post_id'] = apply_filters( 'wpml_object_id', $rule['payload']['post_id'], get_post_type($rule['payload']['post_id']) , TRUE ); } if ( isset($rule['payload']) && isset($rule['payload']['post_id']) && $post_id && intval($post_id) === intval($rule['payload']['post_id']) ) { return true; }