Cuando se trabaja con un tema hijo (child theme) en WordPress para una página en varios idiomas nos encontraremos con cadenas a traducir en el parent theme y en el child theme. Cada uno tendrá sus archivos .po y .mo y los archivos de traducciones se activarán desde el archivo functions.php.
Para el archivo con las cadenas del chid theme utilizamos load_child_theme_textdomain
:
add_action( 'after_setup_theme', 'child_theme_setup' ); function child_theme_setup() { load_child_theme_textdomain( 'child-theme-text-domain', get_stylesheet_directory() . '/ruta-al-archivo-mo' ); }
Si el archivo con las cadenas del parent theme no está cargado, lo podemos cargar en el child theme de la misma manera que el del child theme pero usando el hook load_theme_textdomain
.
2 comentarios
Hola, tengo el tema «olsen-ligth» y un tema hija que llamado «olsen-ligth-hija» ¿Podrías ayudarme con la función teniendo estos temas?, no sé que palabras son las que tengo que cambiar para adaptarlo a mi caso.
lo he intentado de varias maneras y me da error. Tengo el tema practicamente traducido entero, pero antes me funcionaba y ahora que he traducido algo más, ya no se cambia….
Gracias, María.
Hola María,
si antes funcionaba y ahora no, y únicamente has cambiado alguna traducción en el archivo .po, yo diría que tienes un error de sintaxis en el archivo .po; al crear el .mo a partir del .po da error y no se genera adecuadamente.
Mírate este post para comprobar que estás haciendo todo correctamente: Cómo traducir un tema de WordPress.