{"id":228822,"date":"2022-10-28T11:47:00","date_gmt":"2022-10-28T08:47:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228822"},"modified":"2022-11-09T04:23:58","modified_gmt":"2022-11-09T01:23:58","slug":"como-obtener-una-taxonomia-de-wordpress-por-id-de-termino","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-obtener-una-taxonomia-de-wordpress-por-id-de-termino\/","title":{"rendered":"C\u00f3mo obtener una taxonom\u00eda de WordPress por ID de t\u00e9rmino"},"content":{"rendered":"<p>De vez en cuando, cuando se trabaja en un proyecto, hay momentos en los que ser\u00eda bueno tener una funci\u00f3n API para ayudar a lograr lo que sea que se necesite hacer. Caso en cuesti\u00f3n: la capacidad de recuperar una taxonom\u00eda por ID de t\u00e9rmino.<\/p>\n<p>Por supuesto, no es algo dif\u00edcil de hacer, pero tener la capacidad de recuperar la informaci\u00f3n de la funcionalidad preexistente siempre es bueno.<\/p>\n<p>Pero cuando eso no es posible, escribimos nuestra propia manera de hacerlo, \u00bfverdad?<\/p>\n<h2>Recuperar una taxonom\u00eda por ID de t\u00e9rmino<\/h2>\n<p>Cuando me dispongo a hacer algo como esto, por lo general planteo la idea a un par de desarrolladores para asegurarme de que no me estoy perdiendo ninguna funci\u00f3n que existe en el n\u00facleo de WordPress y simplemente no s\u00e9 nada al respecto.<\/p>\n<p>(Esto sucede m\u00e1s de lo que piensas, pero eso puede ser m\u00e1s un problema de mi parte que cualquier otra cosa. A\u00fan as\u00ed, WordPress es una gran pieza de software :).<\/p>\n<p>El caso de uso para algo como esto es simple:<\/p>\n<ul>\n<li>Tengo un ID de t\u00e9rmino que se guard\u00f3 en la base de datos a trav\u00e9s de otros medios (como un elemento de selecci\u00f3n en otra parte de la aplicaci\u00f3n, como el tablero).<\/li>\n<li>Quiero mostrar el nombre de taxonom\u00eda asociado con ese ID de t\u00e9rmino.<\/li>\n<\/ul>\n<p>Conceptualmente, pienso en esto como un tipo de mirada inversa. Normalmente, podemos tomar una taxonom\u00eda y buscar sus t\u00e9rminos. Pero establecer una taxonom\u00eda por ID de t\u00e9rmino es ir en la otra direcci\u00f3n.<\/p>\n<p>Afortunadamente, es bastante f\u00e1cil si se aprovecha de <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_term\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">una API existente<\/a>. <a href=\"https:\/\/gist.github.com\/tommcfarlin\/475f3d28451809ffd43e5ffcb686e05d\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Compru\u00e9balo<\/a> :<\/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>El c\u00f3digo deber\u00eda ser f\u00e1cil de seguir (si no fuera por los comentarios sobre la funci\u00f3n), pero devolver\u00e1 una cadena vac\u00eda o el nombre de la taxonom\u00eda seg\u00fan el ID del t\u00e9rmino.<\/p>\n<p>Dado que get_term recupera un objeto <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_term\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Term<\/a>, podemos mirar la propiedad de taxonom\u00eda del t\u00e9rmino para obtener el nombre. Luego recorto la cadena por si acaso (si estoy trabajando con el c\u00f3digo de otra persona, nunca s\u00e9 si est\u00e1 rellenado o no y no quiero caracteres extra\u00f1os).<\/p>\n<p>Independientemente, ahora tiene una funci\u00f3n disponible para obtener el nombre de la taxonom\u00eda por el ID del t\u00e9rmino. Si se devuelve una cadena vac\u00eda, no se encontr\u00f3 ning\u00fan nombre de taxonom\u00eda.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hay momentos en los que ser\u00eda bueno tener una funci\u00f3n API para ayudar a recuperar una taxonom\u00eda por ID de t\u00e9rmino. Esta es una forma de hacerlo.<\/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":[892,716,800,840,861],"tags":[1172],"class_list":["post-228822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-php-2","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/228822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=228822"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/228822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/167462"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=228822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=228822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=228822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}