{"id":233463,"date":"2023-02-14T17:28:00","date_gmt":"2023-02-14T14:28:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233463"},"modified":"2022-11-10T23:49:55","modified_gmt":"2022-11-10T20:49:55","slug":"kuidas-duenaamiliselt-taeita-taepsemaid-kohandatud-vaeljade-saetteid","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-duenaamiliselt-taeita-taepsemaid-kohandatud-vaeljade-saetteid\/","title":{"rendered":"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid"},"content":{"rendered":"\n<p>M\u00f5ne PHP-koodiga on <a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4psemate kohandatud v\u00e4ljade<\/a> (ACF) v\u00e4\u00e4rtuse v\u00f5i valikute d\u00fcnaamiline sisestamine v\u00e4ga lihtne. Seda saate teha mis tahes t\u00fc\u00fcpi sisendite jaoks, sealhulgas raadio, m\u00e4rkeruutude jms jaoks. Selles postituses vaatame, kuidas.<\/p>\n<h2>Filter<\/h2>\n<p>Advanced Custom Fields pakub filtrit nimega <code>[acf\/load_field](https:\/\/www.advancedcustomfields.com\/resources\/acf-load_field\/)<\/code>. Saate seda filtrit kasutada mitmel erineval viisil. Filtreerige <code>acf\/load_field<\/code>, et rakendada see igat t\u00fc\u00fcpi v\u00e4ljadele, v\u00f5i lisage kood oma konksuga funktsiooni sisse, et v\u00e4lja selgitada, millist v\u00e4lja t\u00fc\u00fcpi v\u00f5i nime soovite. V\u00f5i saate m\u00e4\u00e4rata kas v\u00e4lja t\u00fc\u00fcbi (<code>acf\/load_field\/type=&lt;type&gt;<\/code>), nime (<code>acf\/load_field\/name=&lt;name&gt;<\/code>) v\u00f5i v\u00f5tme (<code>acf\/load_field\/key=&lt;key&gt;<\/code>).<\/p>\n<p>Oletame, et loome tekstiv\u00e4lja j\u00e4rgmiselt:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153292-61e50bc7809d8.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-153292-61e50bc7809d8.png\" alt=\"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid\" ><\/a><\/p>\n<p>V\u00f5iksime seda sihtida <code>acf\/load_field\/name=dyn_pop_example<\/code>(sihib ainult seda konkreetset v\u00e4lja) <code>acf\/load_field\/type=text<\/code>(kehtib k\u00f5ikidele tekstit\u00fc\u00fcpi v\u00e4ljadele) v\u00f5i <code>acf\/load_field<\/code>(kehtib k\u00f5ikidele mis tahes t\u00fc\u00fcpi v\u00f5i nimega v\u00e4ljadele). Kahe viimase filtri kasutamisel saate muidugi funktsiooni sees sihtida konkreetse v\u00e4lja teabe, n\u00e4iteks nime j\u00e4rgi. Iga ACF-i v\u00e4li saab samuti ainulaadse v\u00f5tme, kuid need on peidetud ja on enamasti m\u00f5eldud ACF-i sisekasutuseks.<\/p>\n<p>Filter annab \u00fche muutuja; v\u00e4lja massiiv. See massiiv annab teile kogu teabe praeguse v\u00e4lja kohta. Te muudate lihtsalt massiivi teavet ja tagastate muudetud v\u00e4lja massiivi. S\u00f5ltuvalt v\u00e4lja t\u00fc\u00fcbist erinevad massiivi elemendid. N\u00e4iteks mitme valikuga v\u00e4ljat\u00fc\u00fcpidel, nagu Select ja Radioboxes, on massiivielement &#8216; <code>choices<\/code>&#8216;, mida n\u00e4iteks t\u00fc\u00fcpi tekst v\u00e4ljadel ei ole. Soovitan teil teha <code>var_dump()<\/code>pakutud massiivi, et n\u00e4ha, millisele teabele teil on juurdep\u00e4\u00e4s.<\/p>\n<p>Alustame tegeliku koodi uurimist!<\/p>\n<h2>Rahvastik: lihtsad n\u00e4ited<\/h2>\n<p>Tekstisisestuse vaikev\u00e4\u00e4rtuse m\u00e4\u00e4ramine n\u00e4eks v\u00e4lja umbes selline:<\/p>\n<pre><code>add_filter('acf\/load_field\/name=dyn_pop_example', function($field) {\n    $field['default_value'] = __('This is default value', 'txtdomain');\n    return $field;\n});<\/code><\/pre>\n<p>Sihime oma tekstisisestuse nimega <code>dyn_pop_example<\/code>ja m\u00e4\u00e4rame selle vaikev\u00e4\u00e4rtuse (klahv &#8216; <code>default_value<\/code>&#8216;) enda valitud stringile. Seej\u00e4rel kuvatakse v\u00e4li j\u00e4rgmiselt:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153292-61e50bc94e2b7.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-153292-61e50bc94e2b7.png\" alt=\"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid\" ><\/a><\/p>\n<p>Saate muuta mis tahes v\u00e4lja s\u00e4tteid. Allolevas n\u00e4ites m\u00e4\u00e4rame teksti kohahoidja ja juhised:<\/p>\n<pre><code>add_filter('acf\/load_field\/name=dyn_pop_example', function($field) {\n    $field['placeholder'] = __('Type in here', 'txtdomain');\n    $field['instructions'] = __('Some instructions coming from code', 'txtdomain');\n    return $field;\n});<\/code><\/pre>\n<p>Mis muudab v\u00e4lja selliseks:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153292-61e50bcabf334.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-153292-61e50bcabf334.png\" alt=\"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid\" ><\/a><\/p>\n<h2>Rahva valikud<\/h2>\n<p>Kui soovite d\u00fcnaamiliselt t\u00e4ita valiku-, raadio- v\u00f5i m\u00e4rkev\u00e4lja valikuid, tehke seda massiivi v\u00f5tmeelemendis &quot; <code>choices<\/code>&quot;. See <code>choices<\/code>element kehtib k\u00f5ikidele v\u00e4ljadele, mille t\u00fc\u00fcp on valik, raadio ja m\u00e4rkeruut.<\/p>\n<p>Element \u201e <code>choices<\/code>&quot; peab olema v\u00f5tme + v\u00e4\u00e4rtuse paaride massiiv. V\u00f5tmed on v\u00e4\u00e4rtused (mis salvestatakse) ja v\u00e4\u00e4rtused on silt, mis kuvatakse valikuna.<\/p>\n<p>Oletame, et muudame oma v\u00e4lja valikuks. V\u00f5ite j\u00e4tta valikud t\u00fchjaks, kuna need m\u00e4\u00e4ratakse meie koodi kaudu.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153292-61e50bcc5cf44.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-153292-61e50bcc5cf44.png\" alt=\"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid\" ><\/a><\/p>\n<p>Valitud valikute t\u00e4itmiseks teeme seda j\u00e4rgmiselt:<\/p>\n<pre><code>add_filter('acf\/load_field\/name=dyn_pop_example', function($field) {\n    $choices = [\n        'red' =&gt; __('Red Color', 'txtdomain'),\n        'blue' =&gt; __('Blue Color', 'txtdomain'),\n        'green' =&gt; __('Green Color', 'txtdomain')\n    ];\n    $field['choices'] = $choices;\n    $field['default_value'] = 'blue';\n    return $field;\n});<\/code><\/pre>\n<p>Real <code>#2 - #6<\/code>m\u00e4\u00e4ratleme lihtsalt valikute massiivi. Muutke seda vastavalt oma vajadustele. Real <code>#7<\/code>omistame v\u00e4lja valikud oma massiivile. Hea m\u00f5\u00f5tmise huvides m\u00e4\u00e4rame ka v\u00e4lja vaikev\u00e4\u00e4rtuse. See pole vajalik \u2013 ilma reata <code>#8<\/code>valiks valik lihtsalt automaatselt massiivi esimese valiku (&#8216;punane&#8217;).<\/p>\n<p>\u00dclaltoodud kood renderdab v\u00e4lja j\u00e4rgmiselt:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153292-61e50bce2ff52.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-153292-61e50bce2ff52.png\" alt=\"Kuidas d\u00fcnaamiliselt t\u00e4ita t\u00e4psemaid kohandatud v\u00e4ljade s\u00e4tteid\" ><\/a><\/p>\n<p>Valikud on teie enda teha, k\u00f5ik, mida peate hoolitsema, on anda v\u00e4lja <code>choices<\/code>elemendile \u00f5ige v\u00f5ti + v\u00e4\u00e4rtuste massiiv. P\u00f5hin\u00e4itena n\u00e4itab see koodin\u00e4ide, kuidas saate muuta tavalise valikuv\u00e4lja postituste valikuks.<\/p>\n<pre><code>add_filter('acf\/load_field\/name=dyn_pop_example', function($field) {\n    $posts = new WP_Query([\n        'post_type' =&gt; 'page',\n        'posts_per_page' =&gt; -1\n    ]);\n    $choices = [];\n    while ($posts-&gt;have_posts()) { \n        $posts-&gt;the_post();\n        $choices[get_the_ID()] = get_the_title();\n    }\n    wp_reset_query();\n    $field['choices'] = $choices;\n    return $field;\n});<\/code><\/pre>\n<p>\u00dclaltoodud koodin\u00e4ide loob postitusp\u00e4ringu, mis toob k\u00f5ik lehed ja t\u00e4idab valikute massiivi postituste ID-dega v\u00f5tmetena ja postituste pealkirjadega v\u00e4\u00e4rtustena. See on lihtsalt n\u00e4ide; kui kavatsete postitusi valida, pakub ACF spetsiaalselt selle jaoks muid v\u00e4ljat\u00fc\u00fcpe.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP-ga on v\u00e4ga lihtne d\u00fcnaamiliselt sisestada mis tahes t\u00fc\u00fcpi Advanced Custom Fields (ACF) v\u00e4lja v\u00e4\u00e4rtusi v\u00f5i valikuid. Selles postituses vaatame, kuidas.<\/p>\n","protected":false},"author":1,"featured_media":224889,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,718,833,894,916,916,1110,842,833,842,863,863],"tags":[1165],"class_list":{"0":"post-233463","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","8":"category-kood","10":"category-juhend-algajatele","12":"category-muud","14":"category-n-a","15":"category-opetused","18":"category-wordpress-4","20":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233463","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=233463"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224889"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}