- Estado
- Abierto
- Notificado para
- WPML Multilingual CMS 4.6.0
- Etiquetas de temática
- Compatibility, Feature request
Resumen del problema
Si está traduciendo sus campos personalizados nativos de WordPress, es posible que necesite modificar sus preferencias de traducción a medida que su proyecto evolucione. Sin embargo, tendrá que actualizar su contenido para que esos campos personalizados estén disponibles para su traducción en el Editor de traducción avanzado.
Aunque es lo esperado, entendemos perfectamente que no es deseable, en particular si tiene un sitio grande y sus traducciones están en un estado avanzado.
Nota: desde Advanced Custom Field Multilingual 2.0, este ya no es el caso de los campos de ACF, ya que recalcula la firma del contenido para todas las entradas y obliga a volver a crear nuevos trabajos de traducción.
Solución alternativa
Por favor, asegúrese de hacer una copia de seguridad completa de su sitio antes de continuar.
Nota: Tenga en cuenta que si utiliza nuestra función Traducir todo, esos campos personalizados se traducirán automáticamente.
- Añada el siguiente fragmento de código en su archivo functions.php, teniendo en cuenta que debe modificar estos dos valores por los suyos.
- Nombre del tipo de contenido: post
- Nombre del campo personalizado: simple_field
add_action('wp', function(){ $config = [ 'post_type' => 'post', //Post type slug 'meta_key_name' => 'simple_field' //Custom field key ]; if (!isset($_GET['wpml_sync'])) { return; } set_time_limit(0); do_action('wpml_switch_language', apply_filters( 'wpml_default_language', null )); $all_posts = get_posts([ 'post_type' => $config['post_type'], 'posts_per_page' => -1, 'suppress_filters' => false ]); if (empty($all_posts)) { return; } foreach ($all_posts as $post) { do_action( 'wpml_sync_custom_field', $post->ID, $config['meta_key_name'] ); } wp_die('Done!'); });
- Visite su sitio web y añada esto a su URL: /?wpml_sync (por ejemplo,
https://example.com/?wpml_sync) - Elimine el código de su archivo.