web-dev-qa-db-fra.com

Ajouter une classe ou un identifiant à une fonction Wordpress

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>

1
Arete

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.

0
cjbj

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.

2
Mark Kaplun