{"id":229105,"date":"2022-10-28T11:57:00","date_gmt":"2022-10-28T08:57:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229105"},"modified":"2022-11-09T05:33:07","modified_gmt":"2022-11-09T02:33:07","slug":"comment-obtenir-une-taxonomie-wordpress-par-id-de-terme","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/comment-obtenir-une-taxonomie-wordpress-par-id-de-terme\/","title":{"rendered":"Comment obtenir une taxonomie WordPress par ID de terme"},"content":{"rendered":"\n<p>De temps en temps, lorsque vous travaillez sur un projet, il y a des moments o\u00f9 il serait bien d&rsquo;avoir une fonction API pour aider \u00e0 r\u00e9aliser tout ce qui doit \u00eatre fait. Exemple\u00a0: la possibilit\u00e9 de r\u00e9cup\u00e9rer une taxonomie par ID de terme.<\/p>\n<p>Certes, ce n&rsquo;est pas une chose difficile \u00e0 faire, mais avoir la possibilit\u00e9 de r\u00e9cup\u00e9rer les informations \u00e0 partir de fonctionnalit\u00e9s pr\u00e9existantes est toujours agr\u00e9able.<\/p>\n<p>Mais quand ce n&rsquo;est pas possible, nous \u00e9crivons notre propre fa\u00e7on de le faire, n&rsquo;est-ce pas ?<\/p>\n<h2>R\u00e9cup\u00e9rer une taxonomie par ID de terme<\/h2>\n<p>Lorsque j&rsquo;entreprends de faire quelque chose comme \u00e7a, je fais g\u00e9n\u00e9ralement passer l&rsquo;id\u00e9e par quelques autres d\u00e9veloppeurs pour m&rsquo;assurer qu&rsquo;il ne me manque pas une fonction qui existe dans le noyau de WordPress et que je ne connais tout simplement pas.<\/p>\n<p>(Cela se produit plus que vous ne le pensez, mais cela peut \u00eatre plus un probl\u00e8me de mon c\u00f4t\u00e9 qu&rsquo;autre chose. M\u00eame encore, WordPress est un gros logiciel :).<\/p>\n<p>Le cas d&rsquo;utilisation de quelque chose comme ceci est simple\u00a0:<\/p>\n<ul>\n<li>J&rsquo;ai un identifiant de terme qui a \u00e9t\u00e9 enregistr\u00e9 dans la base de donn\u00e9es par d&rsquo;autres moyens (comme un \u00e9l\u00e9ment de s\u00e9lection ailleurs dans l&rsquo;application, comme le tableau de bord).<\/li>\n<li>Je souhaite afficher le nom de taxonomie associ\u00e9 \u00e0 cet ID de terme.<\/li>\n<\/ul>\n<p>Conceptuellement, je consid\u00e8re cela comme une sorte de regard invers\u00e9. Normalement, nous pouvons prendre une taxonomie et rechercher ses termes. Mais faire une taxonomie par terme ID, c&rsquo;est aller dans l&rsquo;autre sens.<\/p>\n<p>Heureusement, c&rsquo;est assez simple si vous vous greffez sur <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_term\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">une API existante<\/a>. <a href=\"https:\/\/gist.github.com\/tommcfarlin\/475f3d28451809ffd43e5ffcb686e05d\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">V\u00e9rifiez-le<\/a>\u00a0:<\/p>\n<pre><code>&lt;?php\n\n\/**\n * Retrieves the taxonomy name associated on the specified $term_id. \n *\n * @access private\n * @param  int    $term_id  The term ID from which to retrieve the taxonomy name.\n * @return string $taxonomy The name of the taxaonomy associated with the term ID.\n *\/\nprivate function get_taxonomy_by_term_id( $term_id) {\n\n    \/\/ We can't get a term if we don't have a term ID.\n    if (0 === $term_id || null === $term_id) {\n        return;\n    }\n\n    \/\/ Grab the term using the ID then read the name from the associated taxonomy.\n    $taxonomy = '';\n    $term = get_term( $term_id );\n    if (false !== $term) {\n        $taxonomy = $term-&gt;taxonomy;\n    }\n\n    return trim( $taxonomy );\n}\n<\/code><\/pre>\n<p>Le code devrait \u00eatre facile \u00e0 suivre (si ce n&rsquo;est pour les commentaires au-dessus de la fonction), mais il renverra soit une cha\u00eene vide, soit le nom de la taxonomie bas\u00e9 sur l&rsquo;ID du terme.<\/p>\n<p>\u00c9tant donn\u00e9 que get_term r\u00e9cup\u00e8re un objet <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_term\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Term<\/a>, nous pouvons examiner la propri\u00e9t\u00e9 de taxonomie du terme pour saisir le nom. Je coupe ensuite la cha\u00eene au cas o\u00f9 (si je travaille avec le code de quelqu&rsquo;un d&rsquo;autre, je ne sais jamais s&rsquo;il est rembourr\u00e9 ou non et je ne veux pas de caract\u00e8res superflus).<\/p>\n<p>Quoi qu&rsquo;il en soit, vous avez maintenant une fonction disponible pour saisir le nom de la taxonomie par le terme ID. Si une cha\u00eene vide est renvoy\u00e9e, aucun nom de taxonomie n&rsquo;a \u00e9t\u00e9 trouv\u00e9.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a des moments o\u00f9 il serait bien d&rsquo;avoir une fonction API pour aider \u00e0 r\u00e9cup\u00e9rer une taxonomie par ID de terme. Voici une fa\u00e7on de le faire.<\/p>\n","protected":false},"author":1,"featured_media":167462,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,717,801,841,862],"tags":[1167],"class_list":["post-229105","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","category-php-3","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=229105"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229105\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/167462"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=229105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=229105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=229105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}