{"id":231046,"date":"2022-12-24T13:17:00","date_gmt":"2022-12-24T10:17:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231046"},"modified":"2022-12-07T10:58:41","modified_gmt":"2022-12-07T07:58:41","slug":"kohandatud-filtrite-kasutamine-luehikoodidega","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kohandatud-filtrite-kasutamine-luehikoodidega\/","title":{"rendered":"Kohandatud filtrite kasutamine l\u00fchikoodidega"},"content":{"rendered":"\n<p>Kui olete <a href=\"https:\/\/codex.wordpress.org\/Shortcode_API\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">l\u00fchikoodi API<\/a> -st ja <a href=\"https:\/\/tommcfarlin.com\/wordpress-hooks\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">filtrite<\/a> toimimisest aru saanud, on neid lihtne WordPressis rakendada.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160133-61e705f31918c.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160133-61e705f31918c.png\" alt=\"Kohandatud filtrite kasutamine l\u00fchikoodidega\" ><\/a><\/p>\n<p>Ja kui saate neid kahte kombineerida, saate teha palju rohkem kui tavaliselt, kui need t\u00f6\u00f6tavad \u00fcksteisest s\u00f5ltumatult.<\/p>\n<p>T\u00e4psemalt saate filtreerida andmeid, mis on l\u00fchikoodi tulemuses, ja see v\u00f5ib olla eriti kasulik teistele arendajatele. Kui olete tuttav kohandatud filtrite rakendamisega, pole selle tegemine l\u00fchikoodi kontekstis palju erinev.<\/p>\n<p>Kuid kui te pole kunagi varem l\u00fchikoodi API-d ega funktsioone kasutanud, on seda siiski lihtne teha.<\/p>\n<h2>Kohandatud filtrid l\u00fchikoodidega<\/h2>\n<p>Selle postituse jaoks kasutame suhteliselt v\u00e4ljam\u00f5eldud n\u00e4idet. See t\u00e4hendab, et l\u00fchikoodi tulemuseks on midagi staatilist. P\u00f5hjus on selles, et see muudab postituses demonstreerimise ja koodis rakendamise lihtsaks.<\/p>\n<h3>L\u00fchikood<\/h3>\n<p><a href=\"https:\/\/gist.github.com\/tommcfarlin\/b264ef7e0af29b42651bf45ba50c64b2#file-00-a-simple-example-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">L\u00fchikoodi rakendamiseks<\/a> vajate kahte asja:<\/p>\n<ol>\n<li>l\u00fchikoodi kohandatud nimi,<\/li>\n<li>funktsioon, mida kasutatakse teabe pukseerimiseks k\u00f5ikjale, kus l\u00fchikoodi kasutatakse.<\/li>\n<\/ol>\n<pre><code>&lt;?php\n\nnamespace Acme;\n\nadd_shortcode('a_simple_example', __NAMESPACE__. 'aSimpleExample');\n\/**\n * Replaces [a_simple_example] short code with the text \"This is the result of an example shortcode.\"\n * whenever the shortcode is placed in a post or page.\n *\/\nfunction aSimpleExample()\n{\n  return 'This is the result of an example shortcode.';\n}<\/code><\/pre>\n<p>M\u00e4rkus \u00fclaltoodud koodis; Olen funktsiooni eesliitega. <code>__NAMESPACE__<\/code>Seda seet\u00f5ttu, et funktsioon asub kohandatud nimeruumis (seda n\u00e4ete faili \u00fclaosas).<\/p>\n<p>Ilma selle eesliiteta funktsiooni ei kutsuta. Kui otsustate nimeruume mitte kasutada, v\u00f5ite loobuda funktsiooni nime eesliitest ja kaldkriipsudest.<\/p>\n<p>Pange t\u00e4hele, et vaatame seda funktsiooni uuesti niipea, kui filter on paigas.<\/p>\n<h3>Filter<\/h3>\n<p>Kohandatud filtri lisamine sarnaneb l\u00fchikoodi lisamisega. Sa vajad:<\/p>\n<ol>\n<li>kohandatud filtri nimi,<\/li>\n<li>funktsioon, mida kasutatakse sissetuleva teabe filtreerimiseks (ja filtrid peaksid \u00fcldiselt aktsepteerima v\u00e4hemalt \u00fchte parameetrit, mis on loomulikult filtreeritavad andmed):<\/li>\n<\/ol>\n<p>\u00dclaltoodud n\u00e4itega koosk\u00f5la hoidmiseks oletame, et tahame <a href=\"https:\/\/gist.github.com\/tommcfarlin\/b264ef7e0af29b42651bf45ba50c64b2#file-01-a-simple-filter-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">l\u00fchikoodis lihtsalt m\u00f5ne s\u00f5na asendada<\/a> :<\/p>\n<pre><code>&lt;?php\n\nnamespace Acme;\n\nadd_filter('custom_shortcode_example', __NAMESPACE__. 'aSimpleShortcodeFilter');\n\/**\n * Replaces [a simple example] short code with the text \"This is the result of an example shortcode.\"\n * whenever the shortcode is placed in a post or page.\n *\n * @param string $input the input to filter.\n *\n * @return string       the result of the filter running on the input\n *\/\nfunction aSimpleShortcodeFilter(string $input): string\n{\n  return str_ireplace(\n    'an example shortcode.',\n    'a filtered shortcode',\n    $input\n  );\n}<\/code><\/pre>\n<p>See asendab j\u00e4rgmise sisu:<\/p>\n<p>See on l\u00fchikoodi n\u00e4ite tulemus.<\/p>\n<p>Saaja:<\/p>\n<p>See on filtreeritud l\u00fchikoodi tulemus.<\/p>\n<p>Kuid me peame need kaks ikkagi kokku siduma.<\/p>\n<h2>L\u00fchikoodi uuesti k\u00fclastamine<\/h2>\n<p>Kahe funktsiooni koos sidumiseks peame veenduma, et l\u00fchikoodi funktsioon rakendab filtri tagastatavale v\u00e4\u00e4rtusele.<\/p>\n<p>\u00d5nneks on <a href=\"https:\/\/gist.github.com\/tommcfarlin\/b264ef7e0af29b42651bf45ba50c64b2#file-02-a-filtered-shortcode-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selle rakendamine lihtne<\/a>, eriti kuna meil on olemas k\u00f5ik, mida vajame:<\/p>\n<pre><code>&lt;?php\n\nnamespace Acme;\n\nadd_shortcode('a_simple_example', __NAMESPACE__. 'aSimpleExample');\n\/**\n * Replaces [a_simple_example] short code with the text \"This is the result of an example shortcode.\"\n * whenever the shortcode is placed in a post or page.\n *\/\nfunction aSimpleExample()\n{\n  return apply_filters('custom_shortcode_example', 'This is the result of an example shortcode.');\n}\n<\/code><\/pre>\n<p>K\u00f5ige konkreetsema n\u00e4ite puhul soovitan alati kontrollida, kas parameetri tulemus pole t\u00fchi, et see sisaldab stringi, mida otsin, v\u00f5i midagi sarnast.<\/p>\n<p>See t\u00e4hendab, et mulle meeldib sageli avada kaitseklausliga. Kui test eba\u00f5nnestub, tagastan lihtsalt sissetuleva v\u00e4\u00e4rtuse; vastasel juhul filtreerin andmed ja tagastan mis tahes selle toimingu tulemuse.<\/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>Isegi kui te pole kunagi varem API-d ega funktsioone kasutanud, on lihtne alustada l\u00fchikoodidega kohandatud filtrite rakendamist.<\/p>\n","protected":false},"author":1,"featured_media":235705,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,802,863],"tags":[1165],"class_list":["post-231046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231046","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=231046"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231046\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/235705"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=231046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=231046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=231046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}