web-dev-qa-db-fra.com

Obtenir une liste des catégories séparées par des virgules dans une boucle

Je veux obtenir la liste des catégories d'un message à l'intérieur de la boucle. Normalement, j'utiliserais

the_category(', ');

Mais cela produit un lien et je ne veux que le nom de la catégorie. Des idées?

1
Omar Abid

Devrait être assez facile, je pense ..

<?php 
foreach((get_the_category()) as $category) { 
    //this would print cat names.. You can arrange in list or whatever you want..
    echo '<span>'.$category->cat_name .'</span>';
} 
?>

.
J'espère que cela t'aides ;)

2
Sagive SEO

Sans boucle

get_the_category_list(',');
1
v0idless

Le code ci-dessous peut aider en dehors de la boucle. Je l'utilise sur le crochet d'action save_post.

// get the assigned terms to the post
$terms = get_the_terms( $post_id, 'category' );
// create an empty array for storing category names
$terms_meta = [];
if ( ! empty( $terms ) ) {
    foreach ( $terms as $term ) {
        $terms_meta[] = $term->name;
    }
}

if ( ! empty( $terms_meta ) ) {
    $terms_string = implode( ', ', $terms_meta );
} else {
    $terms_string = '';
}

print_r( $terms_string );
0
Aamer Shahzad