סקירת התקלה
בעת שימוש בוידג’ט Post Grid מהתוסף Unlimited Elements for Elementor, הוידג’ט אינו מצליח לשלוף פוסטים מתורגמים בגרסאות המתורגמות של העמודים.
פתרון עוקף
בעיה זו תוקנה. עדכון לגרסה העדכנית ביותר פותר זאת באתר שלך, לכן אתה זקוק לפתרון עוקף זה רק אם עדיין אינך יכול לעדכן.
ודא שיש לך גיבוי מלא של האתר שלך לפני שתמשיך.
- פתח את קובץ functions.php של ערכת העיצוב שלך.
- הוסף את הקוד הבא:
// WPML Workaround for compsupp-7445 add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7445_filter_ucaddon_post_grid'); function wpml_compsupp7445_filter_ucaddon_post_grid($element) { if ( 'ucaddon_post_grid' !== $element->get_name() ) { return; } $settings = $element->get_settings(); if ( isset( $settings['post_list_manual_select_post_ids'] ) && is_array( $settings['post_list_manual_select_post_ids'] ) ) { foreach ( $settings['post_list_manual_select_post_ids'] as $key => $id ) { $post_type = get_post_type( $id ); if ( ! $post_type ) { continue; } $id = apply_filters( 'wpml_object_id', $id, $post_type, false ); unset($settings['post_list_manual_select_post_ids'][$key]); $settings['post_list_manual_select_post_ids'][] = $id; } $element->set_settings( 'post_list_manual_select_post_ids', $settings['post_list_manual_select_post_ids'] ); } if (isset($settings['post_list_manual_post_ids_dynamic'])) { // Check if the IDs are in a string and convert them to an array if (is_string($settings['post_list_manual_post_ids_dynamic'])) { $settings['post_list_manual_post_ids_dynamic'] = explode(',', $settings['post_list_manual_post_ids_dynamic']); } // Proceed only if it's an array if (is_array($settings['post_list_manual_post_ids_dynamic'])) { foreach ($settings['post_list_manual_post_ids_dynamic'] as $key => $id) { $post_type = get_post_type($id); if (!$post_type) { continue; } $translated_id = apply_filters('wpml_object_id', $id, $post_type, false); $settings['post_list_manual_post_ids_dynamic'][$key] = $translated_id; } $element->set_settings('post_list_manual_post_ids_dynamic', $settings['post_list_manual_post_ids_dynamic']); } } }