Adopter un format de date relatif sous WordPress

Un format de date plus humain pour vos articles sous WordPress, c’est possible. Une fonction existe pour afficher une date sous la forme : « Il y a 2 heures / 2 jours / 2 semaines / 2 mois, etc. ».

Un format de date relatif pour vos articles

Pour utiliser ce format de date relatif dans l’affichage des métadonnées de vos articles, il nous faut intervenir dans la boucle de WordPress.

Editons ensemble le fichier single.php ou content-single.php – si vous utilisez un thème séparant les boucles comme le Twenty Eleven. Pour ce thème, il faudra intervenir plus précisément dans le functions.php pour modifier la fonction twentyeleven_posted_on.

Localisez les lignes indiquant les informations de titre, d’auteur et naturellement de date.

Remplacez la fonction de date par celle-ci :

<?php echo 'Il y a ' . human_time_diff(get_the_time('U'), current_time('timestamp')) ; ?>

Cette fonction aura pour résultat une date relative du style : Il y a X jours.

Capture d'écran - Date relative sous WordPress
Une date humaine sous WordPress

N’oubliez pas de sauvegarder le fichier puis ouvrez l’un de vos articles pour vérifier le résultat et procédez à d’éventuels ajustements de styles.

Un format de date relatif pour vos commentaires

Il est sans doute plus intéressant d’adopter un tel format pour vos commentaires. Cela permet une meilleure traçabilité dans le temps plutôt qu’une date dont on aura du mal à calculer la différence par rapport à aujourd’hui.

Cette technique est similaire à celle utilisée pour vos articles :

<?php echo 'Il y a ' . human_time_diff(get_comment_time('U'), current_time('timestamp')) ; ?>

J’hésite à adopter ce format de date pour les commentaires de ce blog. Qu’en pensez-vous, ne serait-pas trop inspiré de Facebook ? Meilleur d’un point de vue SEO ?

9 commentaires

  1. Cristophe

    J’ai appris l’existence de cette fonction il y a peu, là :

    http://www.geekpress.fr/wordpress/astuce/date-relative-articles-764/

    et depuis j’ai gardé ça sous le coude afin d’éventuellement l’utiliser. J’hésite… Et je me demande si ça ne serait pas mieux d’avoir les deux informations, par exemple : « 29 janvier 2012, il y a 3 jours ».

    En tout cas, le point de vue vis-à-vis de Facebook, je m’en fiche totalement, vis-à-vis du SEO, je m’en fiche un peu mais je pourrais m’y intéresser pluss, j’essaie de penser surtout à la personne qui est en train de lire…

  2. jujuwiwi

    Merci pour cette astuce, mais comment faire la même chose pour les commentaires ? Car cette fonction ne marche que pour les articles. Merci d’avance si vous avez la réponse

  3. vallsymachinant

    Merci pour le partage. Allez bataillez fort contre GEEKPRESS !! Au boulot pour nous sortir une exclu !

    Je me pose également des questions, cela donne bien en commentaire je trouve par contre pour l’article je pense mettre les 2 également ! Histoire d’être directement lisible !

  4. tognolicharlene

    Bonjour,
    ce bout de code fonctionne à la perfection. Je vais cependant m’éloigner un peu du sujet en demandant si on peut forcer les dates à s’afficher dans une langue ?
    J’ai parcouru les forums et il semblerait que les problèmes de traduction de la date, même avec un wp-config en FR, serait dû à un bug PHP 5. Pour l’exemple sur mon local ça s’affiche en français et sur le site hébergé, ça s’affiche en anglais…je lance la discussion au cas où

    Merci !

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX