WordPress : récupérez l’ID d’une catégorie
Et zou, un petit bout de code bien utile pour WordPress, pour retrouver l'ID d'une catégorie.
C'est tout bête, mais j'utilise ce code à tout bout de champs dans mon thème et certains plugins que je développe.
Retrouver l'ID d'une catégorie WordPress
Le code renvoie l'ID d'une catégorie WordPress à partir de son nom, sans pour autant le connaître à l'avance. Très utile pour les pages de tags, de catégorie et d'index.
Le code donne l'ID d'une seule catégorie par article. Si vous avez assigné un article à plusieurs catégories, le code ci-dessous ne vous en donnera qu'un. De toute façon, je vous déconseille d'avoir un article WordPress dans plusieurs catégories afin d'éviter le duplicate content (vive le référencement naturel !).
$mycat = $category[0]->cat_name;
$mycat2 = get_cat_id($mycat);
Utilisez ensuite la variable $mycat2 comme bon vous semble. Attention, le code est a utiliser dans le loop de WordPress.
10 commentaires sur WordPress : récupérez l’ID d’une catégorie
Pandoon - Le 10 août 2010 à 13 h 13 min
Pour retrouver l’ID d’une catégorie WordPress +facilement:
Panneau admin => Articles => Catégorie => mettez la souris sur une catégorie (vous pouvez aussi cliquer) et l’ID apparait dans le lien tout à la fin! ;-)
Daniel Roch - Le 10 août 2010 à 13 h 58 min
Oui, c’est la méthode la plus facile pour connaître l’ID d’une catégorie de WordPress, mais c’est inutilisable pour modifier ou développer un thème ou un plugin pour WP. ;)
Julien - Référenceur SEO - Le 11 août 2010 à 11 h 05 min
Nikel pour mon petit plugin que je dois réaliser.
J’ai fini de faire le tour de ce blog, bonne chance pour ton blog, pour ma part je reviendrai.
didier - Le 30 mars 2011 à 17 h 59 min
Merci Daniel, c’est une très bonne astuce…
il me semble qu’il est aussi possible de faire ceci :
$category = get_the_category();
$mycat = $category[0]->cat_ID;
Hernan - Le 1 juillet 2011 à 10 h 24 min
On doit pouvoir aussi faire ça je pense, corrigez-moi si je me trompe :
echo $category->cat_ID;
}
Daniel Roch - Le 1 juillet 2011 à 11 h 34 min
Tu as tout à fait raison. Ta solution fonctionne parfaitement pour récupérer les ID d’un article WordPress. ;)
Jonathan - Le 27 juillet 2011 à 17 h 12 min
Ca fonctionne nickel si on est sur un single.php par contre pour un category.php, je n’arrive pas à récupérer autre chose que le nom ou la description… Une idée pour récupérer l’ID et le nicename?
L’objectif c’est de pouvoir afficher qqch du style…
Merci d’avance pour votre aide !
Daniel Roch - Le 28 juillet 2011 à 9 h 26 min
Il existe une solution dans ce cas, fournie par WpRecipes :
$term = get_term_by('name', $cat_name, 'category');
return $term->term_id;}
$category_ID = get_category_id('Nom de la catégorie');
Jonathan - Le 28 juillet 2011 à 10 h 34 min
Merci… Du coup, j’ai adapté ce code, voilà ce que ça donne pour ceux que ça intéresse :
Dans functions.php
function get_category_id($cat_name){
$term = get_term_by('name', $cat_name, 'category');
return $term->term_id;}
function get_category_nicename($cat_name){
$term = get_term_by('name', $cat_name, 'category');
return $term->slug;}
Dans category.php
Ant0 - Le 20 août 2011 à 13 h 07 min
Bonjour,
Merci pour votre article mais je ne parviens pas à récupérer l’id de la sous-catégorie courante
Donc, j’utilise cette fonction
et j’aimerai bien récupérer l’id de la catégorie courante et l’afficher à la place de 7.
Auriez vous une solution ?
Merci