✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

5

Joidenkin PHP-koodien avulla on todella helppoa täyttää Advanced Custom Fields (ACF) -arvo tai -vaihtoehdot dynaamisesti. Voit tehdä tämän kaikenlaisille tuloille, mukaan lukien radion, valintaruutujen ja vastaavien valinnat. Tässä viestissä katsomme kuinka.

Suodatin

Advanced Custom Fields tarjoaa suodattimen nimeltä [acf/load_field](https://www.advancedcustomfields.com/resources/acf-load_field/). Voit käyttää tätä suodatinta useilla eri tavoilla. Suodata acf/load_fieldsoveltaaksesi sitä kaikenlaisiin kenttiin tai sisällytä koodi koukussa olevaan funktioon selvittääksesi, minkä kentän tyypin tai nimen haluat. Tai voit määrittää joko kentän tyypin (acf/load_field/type=<type>), nimen (acf/load_field/name=<name>) tai avaimen (acf/load_field/key=<key>).

Oletetaan, että luomme tekstikentän seuraavasti:

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

Voisimme kohdistaa tähän seuraavilla tavoilla: acf/load_field/name=dyn_pop_example(kohdistaa vain tähän tiettyyn kenttään), acf/load_field/type=text(koskee kaikkia tekstityyppisiä kenttiä) tai acf/load_field(koskee kaikkia kenttiä minkä tahansa tyypin tai nimen kanssa). Kahta viimeistä suodatinta käytettäessä voit tietysti kohdistaa funktion sisällä tietyn kenttätiedon, kuten nimen, mukaan. Jokainen ACF:n kenttä saa myös ainutlaatuisen avaimen, mutta ne ovat piilotettuja ja ovat enimmäkseen ACF:n sisäiseen käyttöön.

Suodatin tarjoaa yhden muuttujan; kenttäjoukko. Tämä taulukko antaa sinulle kaikki tiedot nykyisestä kentästä. Voit yksinkertaisesti muuttaa taulukon tietoja ja palauttaa muokatun kenttätaulukon. Kentän tyypistä riippuen taulukon elementit vaihtelevat. Esimerkiksi monivalintakenttätyypeissä, kuten select- ja radioboxes, on taulukkoelementti ‘ choices‘, jota esim. tekstityyppisissä kentissä ei ole. Suosittelen, että teet jonkin var_dump()tarjotun taulukon nähdäksesi millaisia ​​tietoja sinulla on käytettävissäsi.

Aloitetaan todellisen koodin tutkiminen!

Väestö: yksinkertaisia ​​esimerkkejä

Tekstinsyötön oletusarvon asettaminen näyttäisi tältä:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['default_value'] = __('This is default value', 'txtdomain'); return $field; });

Kohdistamme tekstinsyötöllemme nimen dyn_pop_exampleja asetamme sen oletusarvon (näppäin ‘ default_value‘) valitsemamme merkkijonoksi. Kenttä näkyy sitten seuraavasti:

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

Voit muokata mitä tahansa kentän asetuksia. Alla olevassa esimerkissä asetamme tekstin paikkamerkin ja ohjeet:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['placeholder'] = __('Type in here', 'txtdomain'); $field['instructions'] = __('Some instructions coming from code', 'txtdomain'); return $field; });

Mikä saa kentän näyttämään seuraavanlaiseksi:

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

Täytä valinnat

Jos haluat täyttää valinta-, radio- tai valintaruudun vaihtoehdot dynaamisesti, teet tämän taulukon avainelementissä ‘ choices‘. Tämä choiceselementti koskee kaikkia kenttiä, joiden tyyppi on valinta, radio ja valintaruutu.

Elementin " choices" on oltava avain + arvo -parien joukko. Avaimet ovat arvoja (jotka tallennetaan) ja arvot ovat valintana näkyvä otsikko.

Oletetaan, että muutamme kenttämme valituksi. Voit jättää vaihtoehdot tyhjiksi, koska ne asetetaan koodimme kautta.

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

Valittujen valintojen täyttämiseksi teemme sen seuraavasti:

Rivillä #2 - #6määrittelemme yksinkertaisesti joukon vaihtoehtoja. Muokkaa tätä tarpeidesi mukaan. Rivillä #7kohdistamme kentän valinnat taulukkoomme. Hyvän mittauksen vuoksi asetamme myös kentän oletusarvon. Tämä ei ole välttämätöntä – ilman riviä #8select valitsee automaattisesti taulukon ensimmäisen vaihtoehdon (‘punainen’).

Yllä oleva koodi hahmontaa kentän seuraavasti:

Muokattujen kenttien lisäasetusten täyttäminen dynaamisesti

Valinnat ovat sinun, sinun tarvitsee vain tarjota oikea avain + arvo -taulukko kentän ‘ choices‘ -elementille. Perusesimerkkinä tämä koodiesimerkki näyttää, kuinka voit muuttaa normaalin valintakentän viestien valinnaksi.

Yllä oleva koodiesimerkki tekee viestikyselyn, joka hakee kaikki sivut ja täyttää valintataulukon viestitunnuksella avaimina ja viestien otsikoilla arvoina. Tämä on vain esimerkki; jos aiot valita virkoja ACF tarjoaa muita kenttätyyppejä erityisesti tätä varten.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja