Je veux afficher le "dernière date de mise à jour" au recto de l'article et de la page.
J'ai donc ajouté le code suivant dans le fichier functions.php.
function wpb_last_updated_date( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated" style="text-align:right">Last updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );
Cela fonctionne, mais je ne veux pas afficher ça sur ma page d’accueil.
Comment puis-je faire ?
Vous pouvez vérifier votre "page d'accueil" au début de votre fonction en utilisant is_home()
et/ou is_front_page()
et simplement renvoyer le contenu d'origine sans date. Voir is_home vs is_front_page
function wpb_last_updated_date( $content ) {
if ( is_home() || is_front_page() ) return $content; //homepage return content without date
// your original function code
}
En variante, vous pourriez incorporer votre add_filter dans une instruction if
J'ai finalement résolu le problème !!
function wpb_last_updated_date( $content ) {
if( is_front_page() || is_home() ) {
return $content;
}
if( is_page(array(1017,927))){
return $content;
}
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated">Last updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );