Idioma diferente para el administrador y el tema

wordpress internacional

Los temas que están localizados, o sea, preparados para reconocer el idioma de WordPress, utilizan la versión internacionalizada del mismo dependiendo del idioma definido en el archivo de configuración de WordPress (wp-config.php), pero no siempre es esto lo deseado.

Cada vez es más habitual que administren WordPress usuarios cuyo idioma nativo no es el que se debe mostrar para los visitantes.

Por ejemplo, digamos que tu te manejas mejor con WordPress en español pero tu sitio está orientado a visitantes de habla inglesa. Pues bien, si el tema está localizado y pones en wp-config.php el español cómo idioma de WordPress, si el tema está internacionalizado y dispone de traducción al español mostrará los mensajes en este idioma definido en el archivo de configuración.

Si no quieres que pase esto solo tienes que hacer un par de cosas:

  1. No definir el idioma en el archivo wp-config.php, o sea, dejar la línea así:
    define('WPLANG', '');
  2. Añade este código al archivo de funciones del tema activo (functions.php):
    // Un idioma para el tema y otro para el administrador
    // hay que llamarlo antes de load_theme_textdomain()
    function set_my_locale($locale) {
    	$locale = ( is_admin() ) ? "es_ES" : "en_US";
    	setlocale(LC_ALL, $local );
    	return $locale;
    }
    add_filter( 'locale', 'set_my_locale' );

Cómo puedes imaginar, debes cambiar la línea 4 a tus preferencias.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(5 votos, promedio: 4.2)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

7 comentarios en “Idioma diferente para el administrador y el tema”

  1. Hola Fernando,he conseguido cambiar correctamente el wpconfig, y TODO el wordpress ahora esta en INGLES,
    pero si cambio el archivo function php del theme. La web no es mas visible y aparece una pagina en blanco con errore en la ‘ linea 1 de function php ‘ pero no veo donde puede estar el error??

  2. estas son las primeras 22 lineas de function php

    // Un idioma para el tema y otro para el administrador
    // hay que llamarlo antes de load_theme_textdomain()
    function set_my_locale($locale) {
    $locale = ( is_admin() ) ? «es_ES» : «en_US»;
    setlocale(LC_ALL, $local );
    return $locale;
    }
    add_filter( ‘locale’, ‘set_my_locale’ );

    <?php

    /**

    * @package WordPress

    * @subpackage Constructor

    *

    * Don't work preview on admin page?

    * Read issue 11006 for more details

  3. César Carballo

    Hola, no logro hacerlo funcionar!

    function set_my_locale($locale) {
    $locale = ( is_admin() ) ? «es_ES» : «en_US»;
    setlocale(LC_ALL, $local ); // aqui no seria $locale ??
    return $locale;
    }
    add_filter( ‘locale’, ‘set_my_locale’ );

    igualmente no funciona…

    Lo inserto en functions.php de un child theme

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido