- الحالة
- محلول
- النوع
- خطأ برمجي
- تم الإبلاغ عنه لـ
- 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 → إدارة الترجمة.