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?
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:
Créez une variable globale $locale
dans votre wp-config.php
:
$locale = 'en_GB';
Déclarez la constante WPLANG
dans votre wp-config.php
:
define( 'WPLANG', 'en_GB' );
Cela a été déconseillé, mais cela fonctionnera toujours.
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.
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.