web-dev-qa-db-fra.com

Paramètres régionaux Wordpress Activer l'en-tête Accept-Language

Est-il possible de demander à wordpress de changer automatiquement de lieu en fonction de l'en-tête HTTP Accept-Language?

Semblable à la façon dont ASP.NET peut le faire avec son paramètre de configuration globalisation = "auto". La raison en est que je veux que mes dates soient personnalisées en fonction de l'endroit où vous consultez le site - et non de ce que les paramètres de site wordpress utilisent pour tout le monde dans le monde.

De cette façon, une personne des États-Unis (en-US) verra le 25/12/2011, tandis qu'une personne de l'Australie (en-AU) verra le 25/12/2011.

1
Drew Freyling

cela va être un peu délicat, car WordPress ne fait pas le lien entre le format de date et d’heure et le langage. donc pour obtenir la langue actuelle à partir du navigateur, vous pouvez utiliser $_SERVER['HTTP_ACCEPT_LANGUAGE'] et ensuite, vous pouvez changer le format de la date:

function update_date_format(){
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if (strpos($lang, 'au') > 0){
        $date_format = 'd/m/Y'; // 25/12/2011
    }else{
        $date_format = 'm/d/Y'; // 12/25/2011
    }
    update_option('date_format',$date_format);
}

après avoir collé cette fonction dans le fichier functions.php de votre thème, ajoutez-le au fichier header.php tout en haut:

<?php update_date_format(); ?>
1
Bainternet