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 !).
$category = get_the_category();
$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.
L'utilisation de l'ID de catégorie dans WordPress
Ce code peut ensuite être réutilisé dans plusieurs cas, dont voici certains que j'utilise dans le thème de SeoMix :
Afficher l'ID en dur
<?php echo get_cat_name($mycat2);?>
Le lien de la catégorie
<?php get_category_link($mycat2);?>
Le flux RSS de la catégorie
<?php get_category_feed_link('$mycat2', ''); ?>
Sur ce, bon développement à tous sur notre bon vieux WordPress.
12 Commentaires
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! ;-)
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. ;)
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.
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;
On doit pouvoir aussi faire ça je pense, corrigez-moi si je me trompe :
Tu as tout à fait raison. Ta solution fonctionne parfaitement pour récupérer les ID d'un article WordPress. ;)
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 !
Il existe une solution dans ce cas, fournie par WpRecipes :
Merci... Du coup, j'ai adapté ce code, voilà ce que ça donne pour ceux que ça intéresse :
Dans functions.php
Dans category.php
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
Merci pour l'astuce, ça m'a été bien utile pour pouvoir afficher un contenu personnalisé dans une certaine catégorie ! Pour info, j'ai utilisé la technique à Didier qui marche nikel !
Finalement, ça n'allait pas car ça me retournait l'ID de la 1ère catégorie du 1er post. Mon post étant dans plusieurs catégorie, ça ne me retournait pas dans tous les cas la catégorie active.
J'ai trouvé cette astuce là qui fonctionne nikel en revanche :
Laisser un commentaire