Je trouve souvent le besoin d'ajouter des classes ou des identifiants aux fonctions Wordpress. De préférence, je voudrais faire cela dans un modèle (pas dans functions.php
).
Exemple: <?php the_excerpt(); ?>
Générera l'extrait à l'intérieur de <p>
. Comment puis-je ajouter une classe au paragraphe pour obtenir <p class="something">The excerpt text...</p>
Si vous avez un seul modèle, vous pouvez faire quelque chose comme:
echo '<p class="whatever">' . get_the_excerpt() . '</p>';
Cependant, si vous avez plusieurs modèles et que vous souhaitez contrôler les classes de manière centralisée, vous pouvez créer un filtre sur get_the_excerpt
comme suit (mais oui, ce serait dans functions.php
):
add_filter ('get_the_excerpt','wpse240352_filter_excerpt');
function wpse240352_filter_excerpt ($post_excerpt) {
$post_excerpt = '<p class="whatever">' . $post_excerpt . '</p>';
return $post_excerpt;
}
Vous auriez alors simplement echo get_the_excerpt();
dans vos fichiers de modèle.
la façon de faire est d'envelopper tout dans une div avec la classe que vous voulez, comme
<div class="myexcerpt">
<?php the_excerpt()?>
</div>
et ensuite pour le style (ou JS), vous pouvez utiliser
.myexcerpt p {}
div
n'a pas de valeur sémantique et ce genre de choses est exactement pourquoi il existe.