WordPress : afficher la date en francais

64k est passé de Dotclear à WordPress : tout se passe bien sauf l’affichage des dates, toujours en anglais.

Voici un moyen simple de changer l’affichage des dates dans WordPress :

1. indiquer à PHP que les “locales” doivent etre en francais.

Un simple :
< ?php setlocale(LC_TIME, 'fr'); ?>
placé dans /themes/votretheme/index.php, juste avant le get_header(); suffira.

2. S’assurer que l’affichage de date se fait selon les “locales”

Les dates s’affichent généralement dans le fichier index.php (liste des billets), single.php (affichage d’un billet), éventuellement : home.php, search.php, archives.php, etc.

Au cas ou les dates sont affichées en 03/03/2007, il faut les remplacer pour des affichages “littéraires”, par exemple avec :

< ?php the_date('j F Y'); echo ' à '; the_time('H:i'); ?>
// => 3 mars 2007 à 10:30
// ou
< ?php the_date('d F Y h:i');?>
// => 03 mars 2007 10:30

(la commande the_date de WordPress utilise la syntaxe php de date())

EDITION :
Selon les configurations, le setlocale peut varier.

Vous pouvez essayez les codes suivants (puis supprimer ceux qui ne fonctionnent pas) :

@setlocale(LC_TIME, ‘fr_FR.ISO_8859-1’);
@setlocale(‘LC_TIME’, ‘fr_FR.ISO_8859-1’); // serveur Linux
@setlocale(‘LC_TIME’, ‘fr’); // Serveur Win32
@setlocale(‘LC_TIME’, ‘fr’); //Solaris 8 et
@setlocale(‘LC_TIME’, ‘fr_FR.ISO8859-1’); // FreeBSD
@setlocale(LC_ALL, ‘french’);

Rejoindre la conversation

5 commentaires

  1. Je viens de tester mais ça ne fonctionne pas :s
    En fait en local ça marchait bien (avec le fichier fr_FR.po), tout était en français, même l’admin. Et une fois sur mon hébergement, wp fait comme s’il n’y avait pas ce fichier pour le français. J’ai lu sur le forum WordPress que ça viendrait d’un bug de php avec les serveurs 64 bits.

  2. le fichier .po sert ppalment à l’admin, ensuite l’affichage frontend dépend du template et de la facon dont il est codé

  3. WordPress 2.8.5/Mac OS X

    Ça ne marche pas!
    J’ai eu beau tester toutes les suggestions pour setlocale: impossible d’avoir la date en français. Il semble que the_date() n’utilise pas setlocale…

    J’ai fini par faire:

    => Je n’utilise plus the_date() mais get_the_time(‘U’) pour récupérer la date au fomat Unix et je la formate avec strftime.

    Si quelqu’un est dans mon cas…

  4. WordPress 2.8.5/Mac OS X

    Ça ne marche pas!
    J’ai eu beau tester toutes les suggestions pour setlocale: impossible d’avoir la date en français. Il semble que the_date() n’utilise pas setlocale…

    J’ai fini par faire:

    => Je n’utilise plus the_date() mais get_the_time(‘U’) pour récupérer la date au fomat Unix et je la formate avec strftime.

    Si quelqu’un est dans mon cas…

Laisser un commentaire