WordPress : Comment puis-je comparer les dates de publication et de mise à jour d’un seul article ?
Dans mon thème, j’aimerais afficher la date de publication et (uniquement) si le message a été mis à jour après la date de publication, afficher également la date de mise à jour. Le code de mon thème ressemble maintenant à ceci :
*/ stuff above here to display publish date, then do this stuff to see if updated */
if ( get_the_date() != get_the_modified_date() )
{
printf( __( '<br>Updated: <time class="entry-date" datetime="%1$s">%2$s</time>', 'splatone' ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() )
);
}
Si le message a été publié et mis à jour le même jour, je préférerais ne pas afficher la ligne mise à jour, mais c’est le cas actuellement. Comment puis-je comparer les dates pour ne l’obtenir que si la date a changé et pas seulement l’heure ?
Solution n°1 trouvée
Cela a fonctionné pour moi, cela peut aider tous ceux que la recherche Google mène ici. Veuillez noter que l’heure sera la même si la publication n’est pas mise à jour mais différente si la publication est mise à jour.
if ($post->post_type == 'post' && get_the_date('U') !== get_the_modified_date('U')) {
// do stuff on post modified
}
Si le message n’est pas mis à jour après sa publication, l’heure sera la même
if ($post->post_type == 'post' && get_the_date('U') === get_the_modified_date('U')) {
// do stuff on post published only (not modified)
}
Solution n°2 trouvée
get_the_date() et get_modified_date() ne renvoient pas de valeurs temporelles : donc, si vous modifiez votre instruction conditionnelle comme ci-dessous, cela devrait fonctionner :
if ( get_the_modified_date() > get_the_date() )
{
...
}
Maintenant, si la date de mise à jour est supérieure à la date de publication d’origine (d’un jour), l’instruction if est vraie.
0 commentaire