{"id":233826,"date":"2023-02-23T17:04:00","date_gmt":"2023-02-23T14:04:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233826"},"modified":"2022-11-11T12:39:20","modified_gmt":"2022-11-11T09:39:20","slug":"taeielik-viide-taepsemate-kohandatud-vaeljade-ruehmade-ja-vaeljade-koodi-jaergi-lisamiseks","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/taeielik-viide-taepsemate-kohandatud-vaeljade-ruehmade-ja-vaeljade-koodi-jaergi-lisamiseks\/","title":{"rendered":"T\u00e4ielik viide t\u00e4psemate kohandatud v\u00e4ljade r\u00fchmade ja v\u00e4ljade koodi j\u00e4rgi lisamiseks"},"content":{"rendered":"\n<p>Pistikprogramm <a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Advanced Custom Fields<\/a> (ACF) toetab v\u00e4ljade ja r\u00fchmade t\u00e4ielikku seadistamist PHP-koodi j\u00e4rgi teie teemas v\u00f5i pistikprogrammis. Selle eeliseks on see, et k\u00f5ik teie v\u00e4ljad on saadaval s\u00f5ltumata WordPressi eksemplarist, millega te t\u00f6\u00f6tate (n\u00e4iteks kui teil on vaja l\u00fclituda kohaliku, testserveri ja reaalajas serveri vahel). Saate seadistada k\u00f5ik v\u00e4ljad ACF-i administraatoris ja kasutada ekspordit\u00f6\u00f6riista eksportimiseks PHP-sse.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-151957-61e4d1b8bd642.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-151957-61e4d1b8bd642.png\" alt=\"T\u00e4ielik viide t\u00e4psemate kohandatud v\u00e4ljade r\u00fchmade ja v\u00e4ljade koodi j\u00e4rgi lisamiseks\" ><\/a><\/p>\n<p>Kuid kui teete seda sageli, v\u00f5ite m\u00e4rgata, et ACF-i PHP-eksport sisaldab palju koodi, mis muudab teie PHP-failid ebavajalikuks. M\u00f5nel juhul on teemas v\u00f5i pistikprogrammis puhtama koodi saamiseks parem kood ise kirjutada, kasutades minimaalselt vajalikku. Selle juhendi eesm\u00e4rk on pakkuda teile t\u00e4ielikku teavet selle kohta, kuidas PHP-s ACF-i v\u00e4ljade ja r\u00fchmade lisamist k\u00e4sitsi v\u00e4lja kirjutada. Pange t\u00e4hele, et see ei k\u00e4sitle iga v\u00e4ljat\u00fc\u00fcpi \u00fcksikasjalikult, kuna eeldatakse, et olete juba tuttav erinevate ACF-i v\u00f5imalike v\u00e4ljadega.<\/p>\n<h2>Aga esmalt; m\u00f5ned ettevaatusabin\u00f5ud<\/h2>\n<p>Heade koodistandardite s\u00e4ilitamiseks ja teie WordPressi saidi kokkujooksmise v\u00e4ltimiseks peaksite alati kontrollima, kas teie koodi kasutatavad funktsioonid v\u00f5i klassid on tegelikult olemas. Eriti kui tegemist on pistikprogrammidega, mida saab h\u00f5lpsasti desaktiveerida v\u00f5i isegi mitte saidile installida, peaksite alati pakkima oma pluginap\u00f5hise koodi kui-testi, mis kontrollib, kas teie kasutatavad funktsioonid on enne nende kasutamist olemas.<\/p>\n<p>ACF-i puhul saate seda teha, kontrollides, kas klass <code>'acf'<\/code>on olemas v\u00f5i kas v\u00e4ljade ja r\u00fchmade lisamise funktsioon on <code>'acf_add_local_field_group'<\/code>olemas. Keerake \u00fcks neist alloleva koodi \u00fcmber.<\/p>\n<pre><code>if (function_exists('acf_add_local_field_group')) {\n    \/\/ Your ACF specific code here\n}\n\/\/ OR:\nif (class_exists('acf')) {\n    \/\/ Your ACF specific code here\n}<\/code><\/pre>\n<h2>Skeleti kood<\/h2>\n<p>Metakastide (r\u00fchmade) ja v\u00e4ljade lisamiseks kasutame konksu nimega <code>acf\/init<\/code>. Funktsiooni sees kutsume funktsiooni <code>acf_add_local_field_group()<\/code>, mille parameetriks on massiiv. Selle massiivi sees on r\u00fchma ja k\u00f5igi selle v\u00e4ljade t\u00e4ielik seadistus. K\u00f5ige olulisemad neist on massiiviklahvid <code>'fields'<\/code>ja <code>'location'<\/code>. Massiiviv\u00f5tme <code>'fields'<\/code>jaoks esitate massiivi k\u00f5igi v\u00e4ljade jaoks ja v\u00f5tme jaoks <code>'location'<\/code>m\u00e4\u00e4rate metakasti kuvamise koha. Selles postituses kirjeldatakse \u00fcksikasjalikult, milliseid v\u00f5imalikke valikuid teil on k\u00f5igi nende jaoks allpool.<\/p>\n<p>See on grupi lisamise miinimum, v\u00e4lja arvatud v\u00e4ljad ja asukoht:<\/p>\n<pre><code>add_action('acf\/init', function() {\n    acf_add_local_field_group([\n        'key' =&gt; 'group_my_fields',\n        'title' =&gt; __('My fields', 'txtdomain'),\n        'label_placement' =&gt; 'top',\n        'menu_order' =&gt; 0,\n        'style' =&gt; 'default',\n        'position' =&gt; 'normal',\n        'fields' =&gt; [],\n        'location' =&gt; [],\n    ]);\n});<\/code><\/pre>\n<p>Iga r\u00fchm vajab ainulaadset v\u00f5tit, kuid tegelik nimi ise ei oma (meie jaoks) erilist t\u00e4htsust. Kui lisate rohkem gruppe, \u00e4rge unustage v\u00e4lja vahetada <code>'key'<\/code>. Metaboksi pealkirja saab m\u00e4\u00e4rata massiivi v\u00f5tmeelemendis, arvasite \u00e4ra, <code>'title'<\/code>. Kui lisate samasse asukohta mitu metakasti (nt postituse redigeerimisel), saate m\u00e4\u00e4rata, milline on esimene, sisestades erinevad numbrid <code>'menu_order'<\/code>.<\/p>\n<p>Saate juhtida metakasti kujundust, sisestades kas <code>default<\/code>elleri <code>seamless<\/code>. <code>'style'<\/code>Kuid uue Gutenbergi toimetaja puhul on sellel palju v\u00e4iksem t\u00e4htsus. Sama kehtib ka v\u00f5tme <code>'position'<\/code>kohta, kus vanasti sai paigutada metakasti postituse sisu alla (<code>'normal'<\/code>), k\u00fcljele (<code>'side'<\/code>) v\u00f5i kohe postituse pealkirja j\u00e4rele (<code>'acf_after_title'<\/code>).<\/p>\n<p>H\u00e4sti! Sukeldume massiivi kahte huvitavamasse elementi; alustades asukohast \u2013 see m\u00e4\u00e4rab, kus metakast kuvatakse.<\/p>\n<h2>Asukoht<\/h2>\n<p>See k\u00f5ik on seotud sellega, mida paned v\u00f5tmesse <code>'location'<\/code>. Kuid enne v\u00f5imalike valikute uurimist peame m\u00f5istma selle massiivi struktuuri.<\/p>\n<p><code>'location'<\/code>aktsepteerib massiivi massiivi elementidega massiivi! Pea vastu. Jah, sest asukohas on v\u00f5imalik pakkuda ja kombineerida AND- ja V\u00d5I-loogikat (nt &quot;n\u00e4ita postituse muutmisel, kuid mitte, kui postituse t\u00fc\u00fcp on &quot;raamat&quot; v\u00f5i &quot;n\u00e4ita kasutaja muutmiskuval ja loo ka uus kasutajaekraan, kuid m\u00f5lemal juhul mitte, kui praegune roll on autor&quot;). Kui see on JA v\u00f5i V\u00d5I, t\u00e4histate massiive struktureerides. Seda on palju lihtsam n\u00e4idata kui s\u00f5nadega seletada:<\/p>\n<p>Nii \u00fchendate kaks asukohaelementi JA-loogikaga (m\u00f5lemad peavad olema t\u00f5esed):<\/p>\n<pre><code>'location' =&gt; [\n    [\n        [\n            \/\/ location 1\n        ],\n        [\n            \/\/ location 2\n        ]\n    ]\n]<\/code><\/pre>\n<p>Ja see on m\u00f5eldud asukohtade kombineerimiseks V\u00d5I-loogikaga (ainult \u00fcks peab olema t\u00f5si):<\/p>\n<pre><code>'location' =&gt; [\n    [\n        [\n            \/\/ location 1\n        ]\n    ],\n    [\n        [\n            \/\/ location 2\n        ]\n    ]\n]<\/code><\/pre>\n<p>Kas n\u00e4ete erinevust?<\/p>\n<p>OK, l\u00e4hme edasi. Iga asukohavalik koosneb kolmest elemendist koosnevast massiivist; <code>'param'<\/code>kuhu lisame k\u00f5ik erinevad asukohad <code>'operator'<\/code>, ja <code>'value'<\/code>. Operaator on see, kuidas v\u00e4\u00e4rtust v\u00f5rrelda ja see v\u00f5ib olla <code>'=='<\/code>v\u00f5rdne v\u00f5i <code>'!='<\/code>mitte v\u00f5rdne.<\/p>\n<p>Vaatame v\u00f5imalikud variandid \u00fckshaaval l\u00e4bi.<\/p>\n<h3>Asukoht postituse t\u00fc\u00fcbi j\u00e4rgi<\/h3>\n<pre><code>[\n    'param' =&gt; 'post_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'post'\n]<\/code><\/pre>\n<p>M\u00e4\u00e4rake soovitud postituse t\u00fc\u00fcp <code>'value'<\/code>. Pidage meeles, et te ei saa pakkuda mitme postituse t\u00fc\u00fcbi massiivi, peate kombineerima mitu massiivi JA konfiguratsioonis.<\/p>\n<h3>Asukoht posti oleku j\u00e4rgi<\/h3>\n<pre><code>[\n    'param' =&gt; 'post_status',\n    'operator' =&gt; '==',\n    'value' =&gt; 'publish'\n]<\/code><\/pre>\n<p>M\u00e4\u00e4rake soovitud postituse olekuks <code>'value'<\/code>. J\u00e4llegi pidage meeles, et te ei saa pakkuda mitme postituse oleku massiivi, peate esitama iga soovitud v\u00e4\u00e4rtuse AND- v\u00f5i V\u00d5I-konfiguratsioonis.<\/p>\n<h3>Asukoht lehe malli j\u00e4rgi<\/h3>\n<pre><code>[\n    'param' =&gt; 'page_template',\n    'operator' =&gt; '==',\n    'value' =&gt; 'template-name.php'\n]<\/code><\/pre>\n<p>See kuvatakse ainult siis, kui valitud leht (v\u00f5i kohandatud postituse t\u00fc\u00fcp koos lehemalli toega) on valinud antud lehemalli nime.<\/p>\n<h3>Asukoht m\u00e4\u00e4ratud taksonoomiatermini j\u00e4rgi<\/h3>\n<pre><code>\/\/ Post category only\n[\n    'param' =&gt; 'post_category',\n    'operator' =&gt; '==',\n    'value' =&gt; 'category:some-category-slug'\n]\n\/\/ Any taxonomy\n[\n    'param' =&gt; 'post_taxonomy',\n    'operator' =&gt; '==',\n    'value' =&gt; 'my_custom_taxonomy:some-category-slug'  \/\/ &lt;taxonomy name&gt;:&lt;term slug&gt;\n]<\/code><\/pre>\n<p>See asukoht on m\u00f5eldud siis, kui postitusele on m\u00e4\u00e4ratud konkreetne termin. Peate v\u00e4\u00e4rtusena esitama taksonoomia nime, kooloni ja termini n\u00e4lkja.<\/p>\n<h3>Asukoht lehe t\u00fc\u00fcbi j\u00e4rgi<\/h3>\n<p>ACF r\u00fchmitab lehtede eriomadused lehek\u00fclje t\u00fc\u00fcbi alla. Enamasti puudutab see seda, kas praegune leht on ema- v\u00f5i alamleht v\u00f5i mitte, aga ka WordPressi esileheks v\u00f5i ajaveebileheks seatud lehtede sihtimist.<\/p>\n<pre><code>\/\/ Front page\n[\n    'param' =&gt; 'page_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'front_page'\n]\n\/\/ Posts page\n[\n    'param' =&gt; 'page_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'posts_page'\n]\n\/\/ Top level page only\n[\n    'param' =&gt; 'page_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'top_level'\n]\n\/\/ Top level page that has children\n[\n    'param' =&gt; 'page_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'parent'\n]\n\/\/ Children level pages\n[\n    'param' =&gt; 'page_type',\n    'operator' =&gt; '==',\n    'value' =&gt; 'children'\n]<\/code><\/pre>\n<h3>Asukoht: taksonoomia<\/h3>\n<p>Asukoht taksonoomias termini muutmisel v\u00f5i lisamisel.<\/p>\n<pre><code>[\n    'param' =&gt; 'taxonomy',\n    'operator' =&gt; '==',\n    'value' =&gt; 'category'  \/\/ Or 'all' for all taxonomies\n]<\/code><\/pre>\n<p>Esitage taksonoomia nimi kujul <code>'value'<\/code>. Pidage meeles, et te ei saa pakkuda mitme taksonoomia massiivi, kuid saate esitada <code>'all'<\/code>k\u00f5igi taksonoomiate sihtimiseks.<\/p>\n<h3>Asukoht: kasutaja<\/h3>\n<p>See asukoht on m\u00f5eldud kasutajaprofiili lisamiseks v\u00f5i muutmiseks.<\/p>\n<pre><code>[\n    'param' =&gt; 'user_form',\n    'operator' =&gt; '==',\n    'value' =&gt; 'all'  \/\/ 'edit' || 'register'\n]<\/code><\/pre>\n<p>Sisestage <code>'edit<\/code>&quot;, et sihtida ainult olemasolevate kasutajate redigeerimisekraani, <code>'register'<\/code>uue kasutaja registreerimisel ainult vormi sihtimiseks v\u00f5i <code>all'<\/code>m\u00f5lema \u00fclaltoodu jaoks &quot;.<\/p>\n<h3>Asukoht: men\u00fc\u00fcelement<\/h3>\n<p>Alates ACF 5.6-st saate men\u00fc\u00fcelementidele lisada ka v\u00e4ljar\u00fchmi.<\/p>\n<pre><code>[\n    'param' =&gt; 'nav_menu_item',\n    'operator' =&gt; '==',\n    'value' =&gt; 'all'\n]<\/code><\/pre>\n<p>Saate m\u00e4\u00e4rata <code>value<\/code>grupi <code>all<\/code>rakendamiseks k\u00f5ikidele men\u00fc\u00fc\u00fcksustele v\u00f5i m\u00e4\u00e4rata men\u00fc\u00fcd asukoha (teie teemas registreeritud asukohad) v\u00f5i men\u00fc\u00fc ID j\u00e4rgi. Asukoha kasutamiseks <code>'location\/&lt;name&gt;'<\/code>\u2013 nii et asukoha nimega \u201e <code>primary<\/code>&#8221; saate m\u00e4\u00e4rata v\u00e4\u00e4rtuse, <code>'location\/primary'<\/code>et rakendada oma grupp ainult sellele asukohale m\u00e4\u00e4ratud men\u00fc\u00fcle. Kui soovite sihtida konkreetset men\u00fc\u00fc ID-d, m\u00e4\u00e4rake v\u00e4\u00e4rtuseks selle ID string.<\/p>\n<h3>Asukoht: vidin<\/h3>\n<p>ACF pakub teile isegi asukohta vidina seadetes ilma vidina p\u00f5hikoodi muutmata.<\/p>\n<pre><code>[\n    'param' =&gt; 'widget',\n    'operator' =&gt; '==',\n    'value' =&gt; 'tag_cloud'  \/\/ or 'all' for all widgets\n]<\/code><\/pre>\n<p>Saate sihtida k\u00f5iki vidinaid <code>'all'<\/code>kui <code>'value'<\/code>, v\u00f5i sihtida konkreetset vidinat. Peate teadma selle vidina sise-ID-d, millega nad on registreeritud.<\/p>\n<h3>Asukoht: ACF-i valikute leht (ainult Pro)<\/h3>\n<p>ACF Pro abil saate kohandatud administraatori lehtede seadistamiseks kasutada ACF-i.<\/p>\n<pre><code>[\n    'param' =&gt; 'options_page',\n    'operator' =&gt; '==',\n    'value' =&gt; 'acf-options-myoptionspage'\n]<\/code><\/pre>\n<p>Sisestage nimi, <code>acf_add_options_page<\/code>mille m\u00e4\u00e4rasite .<code>menu_slug``'value'<\/code><\/p>\n<h3>Asukoht: plokk (ainult Pro 5.8+)<\/h3>\n<p>ACF Pro-l (5.8+) on funktsioon ACF-i v\u00e4ljadega Gutenbergi plokkide lisamiseks ja selle v\u00e4ljundi juhtimiseks PHP-ga. P\u00e4ris vahva neile, kes pole veel sukeldunud kohandatud Gutenbergi plokkide ja vajaliku Javascripti lisamisse.<\/p>\n<pre><code>[\n    'param' =&gt; 'block',\n    'operator' =&gt; '==',\n    'value' =&gt; 'acf\/cta'  \/\/ or 'all' for all ACF blocks\n]<\/code><\/pre>\n<hr \/>\n<h2>V\u00e4ljad<\/h2>\n<p>N\u00fc\u00fcd j\u00f5uame huvitavamasse ossa; p\u00f5llud ise. ACF pakub (t\u00f5eliselt) laia valikut v\u00e4ljat\u00fc\u00fcpe ja ma kordan; see juhend ei n\u00e4ita teile, millised on need v\u00e4ljad ja kuidas need t\u00f6\u00f6tavad v\u00f5i v\u00e4lja n\u00e4evad.<\/p>\n<p>P\u00f5himassiivis, mille olete ette n\u00e4inud <code>'fields'<\/code>, <code>acf_add_local_field_group()<\/code>esitate massiivi, kus iga v\u00e4li on oma massiiv.<\/p>\n<p>Iga v\u00e4lja jaoks n\u00f5utav absoluutne miinimum on j\u00e4rgmine: kordumatu, <code>'key'<\/code>mis v\u00f5ib olla \u00fcksk\u00f5ik, mida soovite ja t\u00f5en\u00e4oliselt ei pea te sellele kunagi viitama. Teil on vaja ka seda <code>'name'<\/code>, milline on (postitus, kasutaja, termin) metav\u00f5ti, millesse v\u00e4lja v\u00e4\u00e4rtus salvestatakse \u2013 ja see on see, millele v\u00e4ljade v\u00e4\u00e4rtust hankides viitate. Peaksite esitama a <code>'label'<\/code>ja l\u00f5puks olulise, <code>'type'<\/code>mis m\u00e4\u00e4rab, millist v\u00e4ljat\u00fc\u00fcpi me k\u00e4sitleme. \u00dclej\u00e4\u00e4nud v\u00e4ljad s\u00f5ltuvad sellest, <code>'type'<\/code>nagu n\u00e4eme, kui vaatame allolevaid v\u00e4ljat\u00fc\u00fcpe l\u00e4bi.<\/p>\n<p>See on v\u00e4lja lisamise skeletikood.<\/p>\n<pre><code>'fields' = [\n    [\n        'key' =&gt; 'field_my_field',\n        'label' =&gt; __('My field', 'txtdomain'),\n        'name' =&gt; 'my_field',\n        'type' =&gt; 'text',\n    ]\n]<\/code><\/pre>\n<p>Pidage meeles, et vajate \u00fclaltoodud iga v\u00e4lja jaoks, kuid sama koodi mittekordamiseks sisaldab iga alltoodud v\u00e4ljat\u00fc\u00fcp ainult <code>'type'<\/code>ja muid selle v\u00e4ljat\u00fc\u00fcbi jaoks vajalikke elemente.<\/p>\n<h3>V\u00e4li: tekstisisestus<\/h3>\n<p>K\u00f5ige lihtsam valdkond \u00fcldse. K\u00f5ik, mida me tegelikult vajame, on:<\/p>\n<pre><code>[\n    'type' =&gt; 'text',\n]<\/code><\/pre>\n<p>Kuid tekstisisestuse edasiseks kohandamiseks v\u00f5ite esitada ka \u00fche j\u00e4rgmistest.<\/p>\n<pre><code>[\n    'default_value' =&gt; 'Default value',\n    'prepend' =&gt; 'Prepend text',\n    'append' =&gt; 'Appended text',\n]<\/code><\/pre>\n<h3>V\u00e4li: numbri sisestamine<\/h3>\n<pre><code>[\n    'type' =&gt; 'number',\n    'min' =&gt; 0,\n    'max' =&gt; 100,\n    'step' =&gt; 1,\n    'default_value' =&gt; 'Default value',\n    'prepend' =&gt; 'Prepend text',\n    'append' =&gt; 'Appended text',\n]<\/code><\/pre>\n<h3>V\u00e4li: Textarea<\/h3>\n<pre><code>[\n    'type' =&gt; 'textarea',\n    'rows' =&gt; 5,\n    'new_lines' =&gt; 'wpautop',  \/\/ 'br' || ''\n    'default_value' =&gt; 'Default value',\n]<\/code><\/pre>\n<h3>V\u00e4li: vahemiku liugur<\/h3>\n<pre><code>[\n    'type' =&gt; 'range',\n    'min' =&gt; 0,\n    'max' =&gt; 100,\n    'step' =&gt; 1,\n    'default_value' =&gt; 50,\n    'prepend' =&gt; 'Prepend text',\n    'append' =&gt; 'Appended text',\n]<\/code><\/pre>\n<h3>V\u00e4li: Parool<\/h3>\n<p>Sama mis tekstisisestuse puhul, v\u00e4lja arvatud see, et k\u00f5ik, mida sellesse sisestate, on kaetud t\u00e4hega *, nagu parooliv\u00e4ljal eeldate.<\/p>\n<pre><code>[\n    'type' =&gt; 'password',\n    'prepend' =&gt; 'Prepend text',\n    'append' =&gt; 'Appended text',\n]<\/code><\/pre>\n<h3>V\u00e4li: Pilt<\/h3>\n<p>\u00dche pildi valimine.<\/p>\n<pre><code>[\n    'type' =&gt; 'image',\n    'return_format' =&gt; 'array',  \/\/ 'id' || 'url'\n    'preview_size' =&gt; 'thumbnail',\n]<\/code><\/pre>\n<h3>V\u00e4li: fail<\/h3>\n<p>Sarnane \u00fclaltoodud pildiga, v\u00e4lja arvatud see, et see ei n\u00e4e faili eelvaadet.<\/p>\n<pre><code>[\n    'type' =&gt; 'file',\n    'return_format' =&gt; 'array',  \/\/ 'id' || 'url'\n]<\/code><\/pre>\n<p>Samuti saate selle pakkuda <code>'mime_types' =&gt; '',<\/code>ja seadistada n\u00e4iteks <code>'pdf,docx'<\/code>ainult PDF- ja DOCX-failide lubamiseks.<\/p>\n<h3>V\u00e4li: WYSIWYG toimetaja<\/h3>\n<p>WYSIWYG on toimetaja &quot;What You See Is What You Get&quot; \u2013 see, millega olime tuttavad enne Gutenbergi tulekut (TinyMCE).<\/p>\n<pre><code>[\n    'type' =&gt; 'wysiwyg',\n    'tabs' =&gt; 'all',  \/\/ 'visual' || 'text'\n    'toolbar' =&gt; 'full',  \/\/ 'basic'\n    'media_upload' =&gt; 1,\n    'delay' =&gt; 0,\n]<\/code><\/pre>\n<p>Parameeter <code>'media_upload'<\/code>ja <code>'delay'<\/code>v\u00f5ib olla 1 (t\u00f5ene) v\u00f5i 0 (v\u00e4\u00e4r).<\/p>\n<h3>V\u00e4li: valige<\/h3>\n<pre><code>[\n    'type' =&gt; 'select',\n    'allow_null' =&gt; 1,\n    'multiple' =&gt; 0,\n    'ui' =&gt; 1,\n    'return_format' =&gt; 'value',  \/\/ 'array' || 'label'\n    'choices' =&gt; [\n        'red' =&gt; __('Red color', 'txtdomain'),\n        'blue' =&gt; __('Blue color', 'txtdomain')\n    ],\n    'default_value' =&gt; 'red',\n]<\/code><\/pre>\n<h3>V\u00e4li: m\u00e4rkeruut<\/h3>\n<pre><code>[\n    'type' =&gt; 'checkbox',\n    'layout' =&gt; 'horizontal',  \/\/ 'vertical'\n    'toggle' =&gt; 0,\n    'return_format' =&gt; 'value',  \/\/ 'array' || 'label'\n    'choices' =&gt; [\n        'red' =&gt; __('Red color', 'txtdomain'),\n        'blue' =&gt; __('Blue color', 'txtdomain')\n    ],\n    'default_value' =&gt; ['red'],\n    'allow_custom' =&gt; 1,\n    'save_custom' =&gt; 0,\n]<\/code><\/pre>\n<p>Pange t\u00e4hele, et <code>'default_value'<\/code>valik v\u00f5ib olla mitu.<\/p>\n<h3>V\u00e4li: raadionupp<\/h3>\n<pre><code>[\n    'type' =&gt; 'radio',\n    'layout' =&gt; 'horizontal',  \/\/ 'vertical'\n    'allow_null' =&gt; 0,\n    'return_format' =&gt; 'value',  \/\/ 'array' || 'label'\n    'choices' =&gt; [\n        'red' =&gt; __('Red color', 'txtdomain'),\n        'blue' =&gt; __('Blue color', 'txtdomain')\n    ],\n    'default_value' =&gt; 'red',\n    'other_choice' =&gt; 1,\n    'save_other_choice' =&gt; 0,\n]<\/code><\/pre>\n<p>T\u00f5ene seadmine <code>'other_choice'<\/code>lisab t\u00e4iendava raadionupu nimega &quot;Muu&quot; koos tekstisisendiga, kuhu kasutaja saab midagi sisestada.<\/p>\n<h3>V\u00e4li: t\u00f5ene\/v\u00e4\u00e4r (l\u00fclita)<\/h3>\n<pre><code>[\n    'type' =&gt; 'true_false',\n    'message' =&gt; __('Text after toggler', 'txtdomain'),\n    'default_value' =&gt; 1,\n    'ui' =&gt; 1,\n    'ui_on_text' =&gt; __('Yes', 'txtdomain'),\n    'ui_off_text' =&gt; __('No', 'txtdomain'),\n]<\/code><\/pre>\n<p>Ja kehtib ainult siis, kui <code>'ui_on_text'<\/code>on 1, kuna need m\u00e4\u00e4ravad, mis peaks ilmuma spetsiaalses kasutajaliidese l\u00fclitusl\u00fclitis.<code>'ui_off_text'``'ui'<\/code><\/p>\n<h3>V\u00e4li: link<\/h3>\n<p>Annab teile nupu lingi sisestamiseks kas tippides v\u00f5i oma WordPressi saidi sisu hulgast valides (see peaks olema tuttav tavalises WordPressi redaktoris lingi lisamisest).<\/p>\n<pre><code>[\n    'type' =&gt; 'link',\n    'return_format' =&gt; 'url',  \/\/ 'array'\n]<\/code><\/pre>\n<h3>V\u00e4li: Postita objekt<\/h3>\n<p>Annab valikukasti, kus saate valida WordPressi sisu hulgast. Valiku abil saate otsida sisestades ja kogu sisu on jagatud postituse t\u00fc\u00fcbi j\u00e4rgi. Saate lubada valida mitu postitust v\u00f5i ainult \u00fche.<\/p>\n<pre><code>[\n    'type' =&gt; 'post_object',\n    'allow_null' =&gt; 1,\n    'multiple' =&gt; 0,\n    'return_format' =&gt; 'object',  \/\/ 'id'\n    'post_type' =&gt; '',  \/\/ or array of post types e.g. ['post', 'page']\n    'taxonomy' =&gt; '',  \/\/ or array of terms e.g. ['category:term-slug']\n]<\/code><\/pre>\n<h3>Valdkond: suhted<\/h3>\n<pre><code>[\n    'type' =&gt; 'relationship',\n    'return_format' =&gt; 'object',  \/\/ 'id'\n    'post_type' =&gt; '',  \/\/ or array of post types e.g. ['post', 'page']\n    'taxonomy' =&gt; '',  \/\/ or array of terms e.g. ['category:term-slug']\n    'elements' =&gt; ['featured_image'],  \/\/ or ''\n    'filters' =&gt; ['search', 'post_type', 'taxonomy'],\n]<\/code><\/pre>\n<h3>V\u00e4li: valige taksonoomiast terminid<\/h3>\n<p>Taksonoomia terminivalijal on neli erinevat &quot;re\u017eiimi&quot; v\u00f5i t\u00fc\u00fcpi, millest kaks v\u00f5imaldab teha mitut valikut.<\/p>\n<pre><code>[\n    'type' =&gt; 'taxonomy',\n    'return_format' =&gt; 'object',  \/\/ 'id'\n    'taxonomy' =&gt; 'category',\n    'field_type' =&gt; 'select',  \/\/ 'checkbox' || 'radio' || 'multi_select'\n    'add_term' =&gt; 0,\n    'save_terms' =&gt; 0,\n]<\/code><\/pre>\n<h3>V\u00e4li: valige kasutaja<\/h3>\n<pre><code>[\n    'type' =&gt; 'user',\n    'return_format' =&gt; 'array',  \/\/ 'object' || 'id\n    'role' =&gt; '',  \/\/ or array of roles, e.g. ['author']\n    'allow_null' =&gt; 1,\n    'multiple' =&gt; 0,\n]<\/code><\/pre>\n<h3>V\u00e4li: Google Maps<\/h3>\n<pre><code>[\n    'type' =&gt; 'google_map',\n    'center_lat' =&gt; '59.917',\n    'center_lng' =&gt; '10.727',\n    'zoom' =&gt; 14,\n    'height' =&gt; 350,\n]<\/code><\/pre>\n<p>Pidage meeles, et selle v\u00e4lja toimimiseks peate esitama ACF-ile kehtiva GoogleMapsi API v\u00f5tme, n\u00e4iteks:<\/p>\n<pre><code>add_filter('acf\/fields\/google_map\/api', function($api) {\n    $api['key'] = 'YOURAPIKEY';\n    return $api;\n});<\/code><\/pre>\n<h3>V\u00e4li: kuup\u00e4evavalija<\/h3>\n<pre><code>[\n    'type' =&gt; 'date_picker',\n    'display_format' =&gt; 'd\/m\/Y',\n    'return_format' =&gt; 'Y-m-d',\n    'first_day' =&gt; 1,\n]<\/code><\/pre>\n<h3>V\u00e4li: kuup\u00e4eva ja kellaaja valija<\/h3>\n<pre><code>[\n    'type' =&gt; 'date_time_picker',\n    'display_format' =&gt; 'd\/m\/Y H:i:s',\n    'return_format' =&gt; 'Y-m-d H:i:s',\n    'first_day' =&gt; 1,\n]<\/code><\/pre>\n<h3>V\u00e4li: ajavalija<\/h3>\n<pre><code>[\n    'type' =&gt; 'time_picker',\n    'display_format' =&gt; 'H:i',\n    'return_format' =&gt; H:i',\n]<\/code><\/pre>\n<h3>V\u00e4li: V\u00e4rvivalija<\/h3>\n<pre><code>[\n    'type' =&gt; 'color_picker',\n    'default_value' =&gt; '',  \/\/ or any hex code, e.g. '#FFFFFF'\n]<\/code><\/pre>\n<h3>V\u00e4li: galerii (ainult ACF Pro)<\/h3>\n<pre><code>[\n    'type' =&gt; 'gallery',\n    'return_format' =&gt; 'array',  \/\/ 'id' || 'url'\n    'preview_size' =&gt; 'thumbnail',\n    'insert' =&gt; 'append',  \/\/ 'prepend'\n]<\/code><\/pre>\n<h3>Spetsiaalsed v\u00e4ljad<\/h3>\n<p>ACF pakub ka m\u00f5ningaid v\u00e4ljat\u00fc\u00fcpe, mis iseenesest v\u00e4\u00e4rtust ei salvesta, kuid need on m\u00f5eldud pigem organisatsioonilisteks eesm\u00e4rkideks. K\u00f5igi nende jaoks m\u00e4\u00e4rake <code>'name'<\/code>t\u00fchi string.<\/p>\n<h4>HTML-s\u00f5num<\/h4>\n<p>Kui teil on vaja HTML-i lihtsalt v\u00e4lja printida, ilma et see v\u00e4\u00e4rtust salvestaks, v\u00f5ite kasutada t\u00fc\u00fcpi <code>'message'<\/code>.<\/p>\n<pre><code>[\n    'type' =&gt; 'message',\n    'message' =&gt; '&lt;p&gt;Your HTML here&lt;\/p&gt;',\n    'new_lines' =&gt; 'wpautop',\n    'esc_html' =&gt; 0,\n]<\/code><\/pre>\n<h4>Repiiter (ainult ACF Pro)<\/h4>\n<p>Repiiter sisaldab rida v\u00e4lju, mida saab korrata.<\/p>\n<pre><code>[\n    'type' =&gt; 'repeater',\n    'layout' =&gt; 'table',  \/\/ 'block' || 'row'\n    'button_label' =&gt; __('Add new', 'txtdomain'),\n    'sub_fields' =&gt; [],\n]<\/code><\/pre>\n<p>Element <code>sub_fields<\/code>eeldab v\u00e4ljade massiivi, nagu olete \u00fclalpool v\u00e4ljad seadistanud.<\/p>\n<h2>J\u00e4reldus<\/h2>\n<p>See ei ole kaugeltki ammendav juhend, kuna ACF pakub nii laias valikus valikuid ja kohandusi. Kuid see peaks h\u00f5lmama enim kasutatud valikuid ja kohandatud kasutusjuhtumeid. Peronaalselt leian, et viitan sellele \u00fcsna sageli, kui lisan klientide jaoks ACF-i v\u00e4lju. Ja isegi k\u00f5ige kummalisemate valikute jaoks piisab sellest juhendist, et ma ei peaks oma PHP-faile ACF-i ekspordikoodiga paisuma. Loodan, et sellest oli kasu ka teile!<\/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>T\u00e4ielik viide selle kohta, kuidas t\u00e4psemate kohandatud v\u00e4ljade v\u00e4lju ja r\u00fchmi PHP-koodi j\u00e4rgi kenasti seadistada, selle asemel et kleepida ACF PHP ekspordit\u00f6\u00f6riistast \u00fclespuhutud koodi.<\/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,894,1110,842,812,812,842,863,863],"tags":[1165],"class_list":{"0":"post-233826","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","8":"category-kood","11":"category-n-a","12":"category-opetused","13":"category-pistikprogrammid","16":"category-wordpress-4","18":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233826","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=233826"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233826\/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=233826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}