web-dev-qa-db-fra.com

Liste de balises en texte brut?

Je cherche un moyen d'afficher une liste de balises en texte brut à utiliser comme classes sur mes éléments de publication. J'ai déjà essayé

$tags = get_tags();
$tag_list = "";
foreach($tags as $tag){
    $tag_list .= $tag->name . " ";
}
echo "<li class=\"$tag_list\">";

dans la boucle, mais il semble que toutes les balises soient affichées au lieu des balises de la publication actuelle. Par conséquent, si j’ai les balises x, y et z, et que je consulte une publication avec la balise x, j’ai toujours <li class="x y z"> tout le monde a des idées comment afficher une liste de balises en texte brut ou ce que je fais mal?

3
JKirchartz

Vous pouvez jouer avec des arguments pour ne chercher que ce dont vous avez besoin et vous débarrasser de la boucle:

$classes = implode(' ', wp_get_post_tags( get_the_ID(), array('fields' => 'names') ) );
5
Rarst

Utilisez plutôt wp_get_post_tags :

$tags = wp_get_post_tags($post->ID);
$tag_list = "";
foreach($tags as $tag){
    $tag_list .= $tag->name . " ";
}
echo "<li class=\"$tag_list\">";
1
Bainternet

Rarst m'a donné un bon départ, mais si vous voulez le faire avec une taxonomie personnalisée, vous devriez utiliser

$classes = implode(' ', wp_get_object_terms($post->ID, 'custom_post_type', array('fields'=>'names')) );

1
JKirchartz