نظرة عامة على المشكلة
عند استخدام ميزة التكرار في WPML مع قوالب Bricks، ستلاحظ أن التغييرات في اللغة الافتراضية لا تنعكس في اللغات الأخرى عندما تكون إضافة WPML Media Translation نشطة.
حل بديل مؤقت
تم إصلاح هذه المشكلة في WPML Multilingual CMS 5.0.0. يحل التحديث المشكلة على موقعك، لذا لا تحتاج إلى هذا الحل البديل المؤقت إلا إذا لم تتمكن من التحديث بعد.
حدّث إلى WPML 5.0 أو أحدث. تتبع نماذج Bricks المكررة الآن التغييرات التي تجريها في اللغة الافتراضية، أيضاً مع تنشيط WPML Media Translation.
إذا لم تتمكن من التحديث بعد:
يُرجى التأكد من أخذ نسخة احتياطية كاملة للموقع قبل المتابعة.الجزء الأول
- افتح الملف …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-custom-field-images-translation.php.
- ابحث عن السطر 56.
- مباشرة بعد:
$setting = $settings_factory->post_meta_setting( $meta_key );
- أضف:
// Workaround part 1 $bricks_meta_keys = array( '_bricks_template_type', '_bricks_page_content_2', '_bricks_editor_mode', '_bricks_template_settings', ); if ( strpos( $meta_key, 'bricks' ) !== false ) { return; }
الجزء الثاني
- افتح الملف …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-set-posts-media-flag.php.
- ابحث عن السطر 128.
- مباشرة بعد:
$post_with_media_files = $this->post_with_media_files_factory->create( $post_id );
- علّق الجزء التالي:
// Workaround part 2 /*if ( $post_with_media_files->get_media_ids() ) { // it seems that this line is causing this issue update_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG, 1 ); } else { delete_post_meta( $post_id, self::HAS_MEDIA_POST_FLAG ); }*/