{"id":228689,"date":"2022-10-28T12:29:00","date_gmt":"2022-10-28T09:29:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228689"},"modified":"2022-11-09T03:51:46","modified_gmt":"2022-11-09T00:51:46","slug":"kuidas-saada-wordpressi-taksonoomiat-termini-id-jaergi","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-saada-wordpressi-taksonoomiat-termini-id-jaergi\/","title":{"rendered":"Kuidas saada WordPressi taksonoomiat termini ID j\u00e4rgi"},"content":{"rendered":"\n<p>M\u00f5nikord on projekti kallal t\u00f6\u00f6tades tore, kui oleks API-funktsioon, mis aitaks saavutada k\u00f5ike, mida on vaja teha. N\u00e4ide: v\u00f5imalus hankida taksonoomiat termini ID j\u00e4rgi.<\/p>\n<p>T\u00f5si, seda pole raske teha, kuid v\u00f5imalus hankida teavet olemasolevatest funktsioonidest on alati tore.<\/p>\n<p>Aga kui see pole v\u00f5imalik, kirjutame oma viisi, kuidas seda teha, eks?<\/p>\n<h2>Taksonoomia hankimine termini ID j\u00e4rgi<\/h2>\n<p>Kui ma kavatsen midagi sellist teha, k\u00e4ivitan selle idee \u00fcldiselt paaril teisel arendajal, et veenduda, et mul ei puudu m\u00f5ni funktsioon, mis WordPressi tuumas eksisteerib, ja ma lihtsalt ei tea sellest.<\/p>\n<p>(Seda juhtub rohkem, kui arvate, kuid see v\u00f5ib minu jaoks olla suurem probleem kui miski muu. Sellegipoolest on WordPress suur tarkvara :).<\/p>\n<p>Millegi sellise kasutusjuht on lihtne:<\/p>\n<ul>\n<li>Mul on termini ID, mis on andmebaasi salvestatud m\u00f5nel muul viisil (nt valitud elemendiga mujal rakenduses, n\u00e4iteks armatuurlaual).<\/li>\n<li>Soovin kuvada selle termini ID-ga seotud taksonoomia nime.<\/li>\n<\/ul>\n<p>Kontseptuaalselt arvan, et see on vastupidine v\u00e4limus. Tavaliselt v\u00f5ime v\u00f5tta taksonoomia ja otsida selle tingimusi. Kuid termini ID j\u00e4rgi taksonoomia j\u00e4rgi l\u00e4heb teises suunas.<\/p>\n<p>\u00d5nneks on see piisavalt lihtne, kui loobute <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_term\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">olemasolevast API-<\/a> st. <a href=\"https:\/\/gist.github.com\/tommcfarlin\/475f3d28451809ffd43e5ffcb686e05d\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kontrollige seda<\/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>Kood peaks olema h\u00f5lpsasti j\u00e4lgitav (kui mitte funktsiooni kohal olevate kommentaaride jaoks), kuid see tagastab kas t\u00fchja stringi v\u00f5i termini ID alusel taksonoomia nime.<\/p>\n<p>Kuna get_term hangib <a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_term\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WP_Term<\/a> objekti, v\u00f5ime nime haaramiseks vaadata termini taksonoomia omadust. Triimin siis stringi igaks juhuks \u00e4ra (kui t\u00f6\u00f6tan kellegi teise koodiga, ei tea kunagi, kas see on polsterdatud v\u00f5i mitte ja k\u00f5rvalisi m\u00e4rke ei taha).<\/p>\n<p>Sellest hoolimata on teil n\u00fc\u00fcd saadaval funktsioon taksonoomia nime haaramiseks termini ID j\u00e4rgi. Kui tagastatakse t\u00fchi string, siis taksonoomia nime ei leitud.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f5nikord oleks tore kasutada API-funktsiooni, mis aitaks termini ID j\u00e4rgi taksonoomiat hankida. Siin on \u00fcks viis, kuidas seda teha.<\/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":[718,894,842,802,863],"tags":[1165],"class_list":["post-228689","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-opetused","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=228689"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228689\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/167462"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=228689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=228689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=228689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}