web-dev-qa-db-fra.com

Comment obtenir de la catégorie dans single.php wordpress?

J'ai besoin de get category id dans single.php. J'ai essayé ceci:
$cat_ID = get_query_var('cat');

Ça n'a pas marché. Que devrais-je utiliser à la place?

1
Sam Hanson

Utilisez wp_get_post_categories ()

Récupérez la liste des catégories pour un post.

<?php wp_get_post_categories( $post_id, $args ) ?>

Sachez que la fonction renvoie un tableau (avec les identifiants de catégorie) même si vous n’avez qu’une catégorie dans votre message.

L'exemple ci-dessous montre comment les catégories sont récupérées, puis des informations supplémentaires sont extraites pour chaque catégorie.

$post_categories = wp_get_post_categories( $post_id );
$cats = array();

foreach($post_categories as $c){
    $cat = get_category( $c );
    $cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}

Référence: http://codex.wordpress.org/Function_Reference/wp_get_post_categories

Une autre option:

Utilisez get_the_terms ();

<?php
    $id = get_the_id();
    $terms = get_the_terms( $id, 'category' );
    // print_r( $terms );
    foreach($terms as $term) {
        echo $term->cat_ID;   
    }
?>
3
gurudeb

Vous pouvez simplement utiliser

$categories = get_the_category();

pour obtenir les catégories assignées.

1
fischi