web-dev-qa-db-fra.com

Utilisez the_taxonomies () pour créer une liste simple

J'essaie de créer <div class="cat-hidden categories"></div>categories est une liste des catégories dans lesquelles l'article actuel est publié.

Lorsque vous utilisez simplement the_taxonomies(), il génère quelque chose comme ceci:

<div class="cat-hidden Job Type: &lt;a href='http://www.cirkut.net/wp/libertyguide/genre/early-career/'&gt;Early-Career&lt;/a&gt;, &lt;a href='http://www.cirkut.net/wp/libertyguide/genre/internship/'&gt;Internship&lt;/a&gt;, &lt;a href='http://www.cirkut.net/wp/libertyguide/genre/other/'&gt;Other&lt;/a&gt;, and &lt;a href='http://www.cirkut.net/wp/libertyguide/genre/web-developmentit/'&gt;Web Development/IT&lt;/a&gt;."></div>`

Alors que je veux qu'il produise quelque chose de similaire à ceci:

<div class="cat-hidden Early-Career Internship Web-Development/IT"></div>

Cela signifie que je vais aussi devoir analyser les catégories sorties parce que j'ai besoin de Web Development/IT pour être Web-Development/IT ou Web-Development-IT. Je ne suis pas sûr que le / soit dedans parce que je pense que CSS n'autorise pas un /. C'est là que vous venez, experts.

Je maîtrise très bien les langages HTML et CSS, et je connais quelques PHP et Wordpress, mais je ne sais pas par où commencer.

Si plus d'informations sont nécessaires, s'il vous plaît faites le moi savoir.

Je vous remercie!

2
Josh Allen

vous pouvez utiliser wp_get_post_terms() pour obtenir une liste des catégories de publication et simplement sortir le slug de catégorie qui est déjà rédigé pour vous, quelque chose comme ceci:

//in your loop
echo '<div class="cat-hidden';
$cats = wp_get_post_terms($post->ID,'category');
foreach($cats as $cat){
   echo ' '.$cat->slug;
}
echo '"></div>';
3
Bainternet

Juste pour proposer différentes approches ...

$terms = get_the_terms( $post->ID, 'category' );
$terms = ( $terms ) ? wp_list_pluck( $terms, 'slug' ) : array();
$space = !empty( $terms ) ? ' ' : '';
printf( '<div class="cat-hidden%s"></div>', $space . implode( ' ', $terms ) );

Un autre ...

$terms = get_the_terms( $post->ID, 'category' );
$terms = ( $terms ) ? wp_list_pluck( $terms, 'slug' ) : array();
$classes = !empty( $terms ) ? ' ' . implode( ' ', $terms ) : '';
echo "<div class='cat-hidden$classes'></div>";

Cette fonction wp_list_pluck est très pratique pour ce genre de choses, évite de devoir faire des boucles vous-même.

1
t31os