Je veux obtenir les détails de la catégorie actuelle que l'utilisateur est sur category.php.
$category = get_the_category();
$slug = $category[0]->slug; // Why is this an array ?
Dans la plupart des cas (où il n'y a pas de sous-catégories), il retourne un tableau de longueur unique.
Mais s'il existe des sous-catégories, elle (catégorie parente et) renvoie un tableau de 2 ou plus.
http://domain.com/category/cat-name/ -> get_the_category() returns an array of 2
http://domain.com/category/cat-name/sub-cat-name/ -> get_the_category() returns an array of 2
Vous utilisez la mauvaise fonction. Essayer:
$thiscat = $wp_query->get_queried_object();
var_dump($thiscat);
Je ne sais pas exactement ce que vous voulez faire avec ces informations, mais vous obtiendrez un objet (stdClass) contenant environ 15 éléments. Vous devriez pouvoir trouver ce dont vous avez besoin.
Je l'ai aussi de ce qui suit:
$cur_cat_id = get_cat_id(single_cat_title("",false));
$category = get_category($cur_cat_id);
Mais je suppose que les solutions de s-ha-dum sont meilleures.
J'utilise normalement les éléments suivants pour extraire l'ID de catégorie de l'archive de catégories actuelle:
$cat_id = get_query_var('cat')
pour obtenir les détails, vous pouvez utiliser:
$cat = get_category( $cat_id )