- סטטוס
- נפתר
- דווח עבור
- 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']); } }