Afficher l’en-tête et le corps de votre article dans un billet WordPress
Avec WordPress, il est possible de taper un extrait de votre article, sorte d’introduction. C’est celui qui sera généralement affiché (selon le template) sur votre page d’accueil, résultats de recherche, d’archives, etc. Si vous ne rentrez pas d’extrait, ce sera les 55 premiers mots du corps de votre billet qui seront affichés. Une fois sur la page dédiée à l’affichage de votre billet, le corps complet est alors affiché.
Le problème c’est que, pour WordPress, l’en-tête et le corps sont deux entités distinctes. Je me suis heurté bien souvent à des templates qui n’affichaient donc pas l’en-tête sur la page dédiée à l’affichage du billet. L’en-tête ne servait que sur les pages d’accueil, d’archives, etc. Le corps ne s’affichait que sur la page dédiée au corps. Je trouve le comportement assez étrange, et étant donné qu’un simple code PHP suffit à régler cela, le voici :
<?php
if (strlen($post->post_excerpt) > 0) {
the_excerpt();
the_content();
} else {
the_content();
}
?>
Petite explication rapide : the_excerpt() correspond à l’en-tête, the_content() correspond au corps du billet. Dans le code ci-dessus, si mon excerpt est renseigné, on l’affiche suivi du corps du billet. Si l’excerpt n’est pas renseigné, on affiche que le corps du billet (ce qui correspond bien souvent au comportement des templates)