[WordPress] Ajouter une classe aux extraits de billets (excerpt)


WordPress propose dans son interface d’écriture une metabox dédiée à la saisie des extraits de billets. Ceux-ci sont intéressants car il permettent d’écrire des paragraphes « chapeaux », véritables résumés qui sont bénéfiques pour attirer les lecteurs et pour le SEO.

Par défaut, WordPress entoure cet extrait (obtenu par l’appel à la fonction the_excerpt()) d’une simple balise <p>. Si vous souhaitez mettre ce contenu en avant, il va falloir ruser avec des règles CSS compliquées.
Sauf si vous utiliser le hack suivant, qui permet d’ajouter la classe de votre choix à cet extrait.

C’est simple, il suffit d’écrire une fonction qui va remplacer ce simple paragraphe par un paragraphe avec classe :

function add_class_to_excerpt( $excerpt ) {
    return str_replace('<p', '<p class="excerpt"', $excerpt);
}

Ensuite, il faut utiliser les filtres existant pour déclencher l’appel de cette fonction; cela tombe bien, the_excerpt propose un tel filtre :

add_filter( "the_excerpt", "add_class_to_excerpt" );

Bien entendu, il faut coller ce code dans le fichier functions.php de votre thème.

 
Par la suite, il vous suffit de styler votre classe excerpt.

.excerpt {
  // vos styles ici
}

Sympa et pratique pour éviter d’ajouter des <div> inutiles.