Обзор проблемы
При использовании функции дублирования WPML с шаблонами Bricks Вы столкнётесь с тем, что изменения на языке по умолчанию не отражаются на других языках, когда активен плагин WPML Media Translation.
Обходное решение
Эта проблема исправлена в WPML Multilingual CMS 5.0.0. Обновление решает эту проблему на Вашем сайте, поэтому это обходное решение понадобится Вам, только если Вы пока не можете выполнить обновление.
Обновитесь до WPML 5.0 или более поздней версии. Дублированные шаблоны Bricks теперь отражают изменения, которые Вы вносите на языке по умолчанию, в том числе при активном WPML Media Translation.
Если Вы пока не можете выполнить обновление:
Пожалуйста, перед продолжением убедитесь, что у Вас создана полная резервная копия сайта.Часть I
- Откройте файл …/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; }
Часть II
- Откройте файл …/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 ); }*/