{"id":228551,"date":"2022-10-28T12:14:00","date_gmt":"2022-10-28T09:14:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228551"},"modified":"2022-11-09T02:58:56","modified_gmt":"2022-11-08T23:58:56","slug":"hur-man-faar-en-wordpress-taxonomie-efter-term-id","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/hur-man-faar-en-wordpress-taxonomie-efter-term-id\/","title":{"rendered":"Hur man f\u00e5r en WordPress-taxonomie efter term-ID"},"content":{"rendered":"<p>Ibland, n\u00e4r man arbetar med ett projekt, finns det tillf\u00e4llen d\u00e5 det skulle vara trevligt att ha en API-funktion som hj\u00e4lper till att uppn\u00e5 vad det \u00e4n \u00e4r som beh\u00f6ver g\u00f6ras. Exempel: m\u00f6jligheten att h\u00e4mta en taxonomi efter term-ID.<\/p>\n<p>Visst, det \u00e4r inte en sv\u00e5r sak att g\u00f6ra, men att ha m\u00f6jligheten att h\u00e4mta informationen fr\u00e5n befintliga funktioner \u00e4r alltid trevligt.<\/p>\n<p>Men n\u00e4r det inte \u00e4r m\u00f6jligt skriver vi v\u00e5rt eget s\u00e4tt att g\u00f6ra det, eller hur?<\/p>\n<h2>H\u00e4mta ett Taxonomy By Term ID<\/h2>\n<p>N\u00e4r jag satte mig f\u00f6r att g\u00f6ra n\u00e5got s\u00e5nt h\u00e4r k\u00f6r jag i allm\u00e4nhet id\u00e9n av ett par andra utvecklare f\u00f6r att se till att jag inte saknar n\u00e5gon funktion som finns i WordPress-k\u00e4rnan och jag vet bara inte om det.<\/p>\n<p>(Detta h\u00e4nder mer \u00e4n du kanske tror, \u200b\u200bmen det kan vara ett mer problem fr\u00e5n min sida \u00e4n n\u00e5got annat. Till och med fortfarande \u00e4r WordPress en stor mjukvara :).<\/p>\n<p>Anv\u00e4ndningsfallet f\u00f6r n\u00e5got s\u00e5dant h\u00e4r \u00e4r enkelt:<\/p>\n<ul>\n<li>Jag har ett term-ID som har sparats i databasen p\u00e5 n\u00e5got annat s\u00e4tt (som ett utvalt element n\u00e5gon annanstans i programmet, till exempel instrumentpanelen).<\/li>\n<li>Jag vill visa taxonominamnet som \u00e4r kopplat till det term-ID:t.<\/li>\n<\/ul>\n<p>Konceptuellt t\u00e4nker jag p\u00e5 detta som en typ av omv\u00e4nd look. Normalt kan vi ta en taxonomi och sl\u00e5 upp dess termer. Men att genom en taxonomi efter term ID g\u00e5r \u00e5t andra h\u00e5llet.<\/p>\n<p>Lyckligtvis \u00e4r det l\u00e4tt nog om du piggyback fr\u00e5n <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_term\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ett befintligt API<\/a>. <a href=\"https:\/\/gist.github.com\/tommcfarlin\/475f3d28451809ffd43e5ffcb686e05d\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kolla in det<\/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>Koden ska vara l\u00e4tt att f\u00f6lja (om inte f\u00f6r kommentarerna ovanf\u00f6r funktionen), men den kommer att returnera antingen en tom str\u00e4ng eller taxonominamnet baserat p\u00e5 termen ID.<\/p>\n<p>Eftersom get_term h\u00e4mtar ett <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_term\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Term-<\/a> objekt kan vi titta p\u00e5 termens taxonomiegenskap f\u00f6r att ta tag i namnet. Jag trimmar sedan str\u00e4ngen f\u00f6r s\u00e4kerhets skull (om jag arbetar med n\u00e5gon annans kod vet jag aldrig om den \u00e4r vadderad eller inte och jag vill inte ha fr\u00e4mmande tecken).<\/p>\n<p>Oavsett, nu har du en funktion tillg\u00e4nglig f\u00f6r att ta tag i taxonominamnet med termen ID. Om en tom str\u00e4ng returneras, hittades inget taxonominamn.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Det finns tillf\u00e4llen d\u00e5 det skulle vara trevligt att ha en API-funktion f\u00f6r att hj\u00e4lpa till att h\u00e4mta en taxonomi efter term-ID. H\u00e4r \u00e4r ett s\u00e4tt att g\u00f6ra det.<\/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":[848,901,807,724,868],"tags":[1173],"class_list":["post-228551","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-koda","category-php-9","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=228551"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228551\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/167462"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=228551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=228551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=228551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}