web-dev-qa-db-fra.com

Obtenir les détails de la catégorie actuelle sur laquelle l'utilisateur se trouve actuellement dans category.php

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
3
EPQRS

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.

5
s_ha_dum

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.

1
EPQRS

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 )

http://codex.wordpress.org/Function_Reference/get_category

0
Michael