WPML
סטטוס
נפתר
נפתר בגרסה
WPML Multilingual CMS 4.7.4
תוסף/ערכת עיצוב קשורים
Elementor
תגיות נושא
Compatibility

סקירה כללית של התקלה

בעת שימוש ב־Loop Grid של Elementor Pro עם תבניות חלופיות, תוכן שאינו דינמי שתורגם בתוך תבנית הלולאה אינו מופיע בשפה הנכונה בחזית האתר. בעיה זו מתרחשת מכיוון שמזהי (ID) התבניות החלופיות אינם מתורגמים.

פתרון עוקף

אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.


  • פתח את הקובץ functions.php של ערכת העיצוב שלך.

  • הוסף את הקוד הבא:
    // WPML Workaround for compsupp-6865
    add_filter('elementor/frontend/before_render', 'wpml_compsupp6865_filter_loop_grid_widget');
    
    function wpml_compsupp6865_filter_loop_grid_widget($element) {
        if ('loop-grid' !== $element->get_name()) {
            return $element;
        }
    
        $settings = $element->get_settings();
    
        if (!isset($settings['alternate_templates']) || !is_array($settings['alternate_templates'])) {
            return $element;
        }
    
        $alternate_settings = $settings['alternate_templates'];
    
        foreach ($alternate_settings as $key => $value) {
            if (empty($value['template_id']) || !is_numeric($value['template_id'])) {
                continue;
            }
    
            // Use apply_filters to adjust template_id for WPML
            $id = apply_filters('wpml_object_id', $value['template_id'], get_post_type($value['template_id']), true);
            if (!is_numeric($id)) {
                continue;
            }
    
            // Update the template_id in alternate_settings
            $alternate_settings[$key]['template_id'] = $id;
        }
    
        // Update the settings with the modified alternate_templates
        $settings['alternate_templates'] = $alternate_settings;
        $element->set_settings('alternate_templates', $settings['alternate_templates']);
    }

כל התקלות הידועות →