WordPress : Comment définir un fichier de localisation différent pour différents utilisateurs ?

Publié par Jean-Michel le

J’essaie de charger le fichier de localisation en fonction des paramètres de l’utilisateur. Cette méthode est-elle correcte ou existe-t-il de meilleures façons d’implémenter le changement de paramètres régionaux en fonction des paramètres de l’utilisateur ?

    <?php
           add_filter( 'locale', 'theme_localized' );

            function theme_localized( )
            {
                if(is_user_logged_in()) {
                    $locale = get_user_locale();
                     return $locale;
                }

            }
?>

Ce code fonctionne mais je ne suis pas sûr que ce soit la manière conventionnelle de traduire le site Web.

Solution n°1 trouvée

Par défaut, WordPress charge uniquement les traductions en fonction de la langue de l’utilisateur lorsqu’il consulte les pages d’ administration .

Vous pouvez voir cela dans le code de la fonction load_theme_textdomain :

$locale = apply_filters( 'theme_locale',
    is_admin() ? get_user_locale() : get_locale(),
//  ^^^^^^^^
$domain );

Votre code convient donc si vous souhaitez remplacer ce comportement pour le front-end de votre site.

Est-ce conventionnel ? Eh bien, c’est à cela que servent les filtres. Cependant, je dirais que cela ne se fait normalement que si la langue du contenu réel change également.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *