- الحالة
- محلولة
- أُبلغ عنها لـ
- WPML Multilingual CMS 4.6.13
- تم حلها في
- WPML Multilingual CMS 4.7.4
- الإضافة/القالب ذو الصلة
- Elementor
- وسوم الموضوع
- Compatibility
نظرة عامة على المشكلة
عند استخدام ميزة شروط العرض الخاصة بـ Elementor Pro للتحكم في ظهور الودجت، لا تُطبَّق الشروط بشكل صحيح على الصفحات المترجمة. وتحديداً، لا تُفعِّل الوسوم أو التصنيفات في اللغة المترجمة شروط العرض كما هو متوقع، مما يتسبب في بقاء العناصر التي يجب أن تكون مخفية ظاهرة.
حل بديل مؤقت
يرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.
- افتح ملف functions.php الخاص بقالبك.
- أضف المقتطف التالي:
/* * WPML Workaround for compsupp-7656 */ add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7656_filter_e_display_conditions_from_widget'); function wpml_compsupp7656_filter_e_display_conditions_from_widget($element) { $settings = $element->get_settings(); if (array_key_exists('e_display_conditions', $settings) && !empty($settings['e_display_conditions'])) { foreach ($settings['e_display_conditions'] as $key => $condition_json) { $condition = json_decode($condition_json, true); foreach ($condition as &$condition_group) { foreach ($condition_group as &$single_condition) { if (isset($single_condition['condition']) && strpos($single_condition['condition'], 'in_') === 0) { $taxonomy_key = substr($single_condition['condition'], 3); // Remove 'in_' prefix if (isset($single_condition[$taxonomy_key])) { foreach ($single_condition[$taxonomy_key] as &$term) { if (isset($term['id'])) { $term_obj = get_term($term['id']); if ($term_obj && !is_wp_error($term_obj)) { $term['id'] = apply_filters('wpml_object_id', $term['id'], $term_obj->taxonomy, true); } } } } } } } // Encode the modified condition back to JSON $settings['e_display_conditions'][$key] = json_encode($condition); } // Update the element's settings with the modified conditions $element->set_settings('e_display_conditions', $settings['e_display_conditions']); } }