Resumen del problema
Al usar la función de duplicación de WPML con las plantillas de Bricks, notará que los cambios en el idioma predeterminado no se reflejan en otros idiomas cuando el plugin WPML Media Translation está activo.
Solución alternativa
Este problema se ha solucionado en WPML Multilingual CMS 5.0.0. Actualizar lo soluciona en su sitio, por lo que solo necesita esta solución alternativa si aún no puede actualizar.
Actualice a WPML 5.0 o posterior. Las plantillas duplicadas de Bricks ahora siguen los cambios que realice en el idioma predeterminado, también con WPML Media Translation activo.
Si aún no puede actualizar:
Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.Parte I
- Abra el archivo …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-custom-field-images-translation.php.
- Busque la línea 56.
- Justo después de:
$setting = $settings_factory->post_meta_setting( $meta_key );
- Añada:
// 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; }
Parte II
- Abra el archivo …/wp-content/plugins/wpml-media-translation/classes/media-translation/class-wpml-media-set-posts-media-flag.php.
- Busque la línea 128.
- Justo después de:
$post_with_media_files = $this->post_with_media_files_factory->create( $post_id );
- Comente la siguiente parte:
// 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 ); }*/