Vous êtes ici : SeoMix » WordPress » Hacks & fonctions WordPress » WordPress : récupérez l’ID d’une catégorie

WordPress : récupérez l’ID d’une catégorie

ID de catégorie WordPressEt 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.
Publicité SeoMix

10 commentaires sur WordPress : récupérez l’ID d’une catégorie

  1. Pandoon
    2 messages

    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! ;-)

  2. Daniel Roch
    449 messages

    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. ;)

  3. Julien - Référenceur SEO
    29 messages

    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.

  4. 1 message

    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;

  5. Hernan
    1 message

    Hernan - Le 1 juillet 2011 à 10 h 24 min

    On doit pouvoir aussi faire ça je pense, corrigez-moi si je me trompe :

    foreach((get_the_category()) as $category) {
        echo $category->cat_ID;
    }
  6. Daniel Roch
    449 messages

    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. ;)

  7. Jonathan
    3 messages

    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…

    img src="img/categories/' . $cat_ID . '-' . $category-nicename .'.png" alt="Nom de la catégorie"

    Merci d’avance pour votre aide !

  8. Daniel Roch
    449 messages

    Daniel Roch - Le 28 juillet 2011 à 9 h 26 min

    Il existe une solution dans ce cas, fournie par WpRecipes :

    function get_category_id($cat_name){
        $term = get_term_by('name', $cat_name, 'category');
        return $term->term_id;}
    $category_ID = get_category_id('Nom de la catégorie');
  9. Jonathan
    3 messages

    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

    /* Récupérer ID */
    function get_category_id($cat_name){
    $term = get_term_by('name', $cat_name, 'category');
    return $term->term_id;}
    /* Récupérer Nicename */
    function get_category_nicename($cat_name){
    $term = get_term_by('name', $cat_name, 'category');
    return $term->slug;}

    Dans category.php

    <img class="cat" src="/img/categories/-.png" alt="" />
  10. 1 message

    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

Les commentaires sont fermés. Si vous voulez rajouter un élément important à la conversation, utilisez le formulaire de contact de SeoMix.

3 sites en parlent :
Par www.blogmemes.be le 21/08/2010» WordPress : récupérez l’ID d’une catégorieWordPress : récupérez l'ID d'une catégorie... - Vous aimez cet article ? Votez pour lui sur Blogmemes.be !Petit hack de SeoMix pour récupérer l'ID d'une catégorie Wordpress, sans connaître le nom de celle-ci. Le hack permet aussi de récupérer le nom, le lien et l'adresse du flux rss....
Par designfloat.com le 21/08/2010» WordPress : récupérez l’ID d’une catégorieWordpress : Retrieve Category ID (french)... Petit hack pour récupérer l'ID d'une catégorie Wordpress, sans en connaître le nom. Il permet aussi de trouver le nom et d'autres infos sur la catégorie...
Par www.fuzz.fr le 21/08/2010» WordPress : récupérez l’ID d’une catégorieRécupérez l'ID d'une catégorie Wordress... Petit hack de SeoMix pour récupérer l'ID d'une catégorie Wordpress, sans connaître le nom de celle-ci. Le hack permet aussi de récupérer le nom, le lien et l'adresse du flux rss....

© 2010-2012 SeoMix : WordPress & Référencement
Propulsé par WordPress & Daniel Roch. Logo par Willy Bahuaud

Suivez-nous !

4046 abonnés - 111 articles - 2271 messages

Les tests en cours
Seo et emarketing
WordPress
Mes autres sites

SeoMix, par Daniel Roch sur WordPress - 87 rue du Châtelier 44400 Rezé - Me contacter par Email