- الحالة
- محلولة
- أُبلغ عنها لـ
- WPML Multilingual CMS 4.5.14
- تم حلها في
- WPML 4.6.4
- الإضافة/القالب ذو الصلة
- Elementor
- وسوم الموضوع
- Compatibility
نظرة عامة على المشكلة
إذا كنت تستخدم ميزة قالب حلقة Elementor، فإن الأزرار لا تُترجم في الواجهة الأمامية حتى وإن كانت متاحة للترجمة في محرر الترجمة المتقدم.
حل بديل مؤقت
يُرجى التأكد من إنشاء نسخة احتياطية كاملة لموقعك قبل المتابعة.
- افتح الملف /wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/class-wpml-elementor-translate-ids.php.
- ابحث عن السطر 108.
- استبدل طريقة
WPML_Elementor_Translate_IDs::translate_global_widget_ids():public function translate_global_widget_ids( $data_array, $post_id ) { foreach ( $data_array as &$data ) { if ( isset( $data['elType'] ) && 'widget' === $data['elType'] ) { if ( 'global' === $data['widgetType'] ) { $data['templateID'] = $this->translate_id( $data['templateID'] ); } elseif ( 'template' === $data['widgetType'] ) { $data['settings']['template_id'] = $this->translate_id( $data['settings']['template_id'] ); } } $data['elements'] = $this->translate_global_widget_ids( $data['elements'], $post_id ); } return $data_array; }بـ:
public function translate_global_widget_ids( $data_array, $post_id ) { foreach ( $data_array as &$data ) { if ( isset( $data['elType'] ) && 'widget' === $data['elType'] ) { if ( 'global' === $data['widgetType'] ) { $data['templateID'] = $this->translate_id( $data['templateID'] ); } elseif ( 'template' === $data['widgetType'] || 'loop-grid' === $data['widgetType'] || 'loop-carousel' === $data['widgetType']) { $data['settings']['template_id'] = $this->translate_id( $data['settings']['template_id'] ); } } $data['elements'] = $this->translate_global_widget_ids( $data['elements'], $post_id ); } return $data_array; } - ترجم قالب حلقة Elementor في WPML → إدارة الترجمة.