78 votes

Obtenir l'ID de catégorie actuel de la page active

Vous cherchez à extraire l'ID de catégorie d'une page spécifique dans WordPress qui répertorie tous les articles utilisant cette catégorie spécifique. J'ai essayé ci-dessous mais ne fonctionne pas. Je peux obtenir le nom de la catégorie en utilisant single_term_title .

 $category = single_term_title("", false);
$catid = get_cat_ID( $category );

$category affiche "Divertissement" par exemple. Mais j'ai aussi besoin de l'ID de "Divertissement". Comment pourrais-je m'y prendre ?

196voto

Ram Mehar Deswal Points 712

S'il s'agit d'une page de catégorie, vous pouvez obtenir l'identifiant de la catégorie actuelle en :

 $category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;

Si vous souhaitez obtenir l'identifiant de catégorie d'une catégorie particulière sur n'importe quelle page, essayez d'utiliser :

 $category_id = get_cat_ID('Category Name');

73voto

ash108 Points 570

Vous pouvez essayer d'utiliser get_the_category() :

 $categories = get_the_category();
$category_id = $categories[0]->cat_ID;

37voto

Fred K Points 1370

Le moyen le plus ancien mais le plus rapide que vous pouvez utiliser est :

 $cat_id = get_query_var('cat');

21voto

Shaffe Points 405

J'utilise la fonction get_queried_object pour obtenir la catégorie actuelle sur une page de modèle category.php.

 $current_category = get_queried_object();

Jordan Eldredge a raison, get_the_category ne convient pas ici.

4voto

Jorge Orpinel Points 81

Je pense que certains des éléments ci-dessus peuvent fonctionner, mais l'utilisation de la fonction get_the_category semble délicate et peut donner des résultats inattendus.

Je pense que le moyen le plus direct et le plus simple d'accéder à l'identifiant du chat dans une page de catégorie est :

 $wp_query->query_vars['cat']

À votre santé

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X