web-dev-qa-db-fra.com

Comment changer la valeur de lang = en-US

J'ai remarqué que, dans la balise <html> de mon site WP, la langue est définie en anglais américain.

<html lang="en-US" prefix="og: http://ogp.me/ns#">

Je voudrais le changer en anglais britannique en-GB mais je ne suis pas sûr de la meilleure façon.

J'ai fouillé et trouvé language_attributes() dans general-template.php qui appelle la fonction get_bloginfo('language'). Je pourrais insérer manuellement la valeur ici, mais cela ne semble pas être la meilleure façon de le faire.

Quelle est la bonne façon de changer cette valeur?

4
Scott Helme

La valeur de cette chaîne provient normalement de l'option WPLANG de votre table de base de données $prefix_options. Vous pouvez le définir dans le backend sous Paramètres/Général (wp-admin/options-general.php) ou par SQL.

Il y a plusieurs façons de changer cette valeur par PHP:

  1. Créez une variable globale $locale dans votre wp-config.php:

    $locale = 'en_GB';
    
  2. Déclarez la constante WPLANG dans votre wp-config.php:

    define( 'WPLANG', 'en_GB' );
    

    Cela a été déconseillé, mais cela fonctionnera toujours.

  3. Filtre locale:

    add_filter( 'locale', function() {
        return 'en_GB';
    });
    

    C'est une manière très flexible, car vous pouvez ajouter plus de conditions à cette fonction, par exemple vérifier l'ID du site actuel dans un multisite.

9
fuxia

En ce qui concerne la version récente de WordPress 4+, la solution proposée ici est obsolète. Veuillez vérifier ma réponse ici pour plus de détails.

https://stackoverflow.com/a/37571439/1358670

1
Abu Romaïssae