Afficher une date relative au lieu de la date fixe.
La majorité des thèmes affichent la date de publication, par exemple : 20 mai 2012.
A la place d’afficher la date fixe, on peut afficher une date relative, c’est à dire le nombre de jours ou d’heures qui se sont écoulés depuis la mise en ligne de l’article. au lieu d’affiché publié le 20 mai 2012, on peut afficher publié depuis 6 jours, par exemple.
WordPress possède une fonction qui permet de le faire :
<?php human_time_diff( $from, $to ); ?>
Pour utiliser la date relative à la place de la date fixe, il faut vous rendre dans votre thème :
– racine de votre site -> wp-content -> theme -> nom de votre site
Il faut modifier les fichiers où vous voulez afficher le nouveau format de date (index.php, single.php…)
La plupart des thèmes ont une page single.php (affiche 1 seul article), on va prendre cette page pour l’exemple.
Ouvrez la page single.php avec votre éditeur de texte (bloc note ou notepad++ par exemple).
Cherchez la ligne de commande :
<?php the_time('j F Y') ?>
c’est la commande qui est utilisée pour afficher la date dans wordpress.
Modifiez cette ligne par :
<?php human_time_diff( $from, $to ); ?>
Cela fait pas top, car il affiche : 3 jours ou 5 heures par exemple. On va rajouter publié depuis …
On modifie la ligne par :
<?php echo 'Publié depuis ' .human_time_diff(get_the_time('U'), current_time('timestamp'));?>
WordPress affichera : Publié depuis 3 jours ou Publié depuis 5 heures
Il est aussi possible d’afficher les 2 dates, si vous le voulez :
Posté le <?php the_time('j F Y') ?> <?php echo 'soit depuis'.human_time_diff(get_the_time('U'), current_time('timestamp')); ?>
Cette ligne affichera : Posté le 20 mai 2012 soit depuis 5 heures ou Posté le 13 mai 2012 soit depuis 3 jours
Le problème de l’affichage de la date relative, c’est qu’au bout de 1 an, il affiche pas 1 an ou 2 ans, il affiche 400 ou 550 jours, ce qui n’est pas très esthétique.
Vous pouvez retrouver plus d’informations sur le codex de wordpress :
http://codex.wordpress.org/Function_Reference/human_time_diff
Si vous connaissez une autre ligne de commande ou une autre astuce pour afficher la date relative, laissez un petit message 😆