✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

23

Con del codice PHP è davvero facile popolare dinamicamente un valore o scelte ACF (Advanced Custom Fields ). Puoi farlo per qualsiasi tipo di input, comprese le scelte di radio, checkbox e simili. In questo post vedremo come.

Il filtro

Advanced Custom Fields offre un filtro denominato [acf/load_field](https://www.advancedcustomfields.com/resources/acf-load_field/). È possibile utilizzare questo filtro in diversi modi. O filtra acf/load_fieldper applicarlo a tutti i tipi di campi o includi il codice all’interno della tua funzione agganciata per capire quale tipo di campo o nome desideri. Oppure puoi specificare il tipo di campo (acf/load_field/type=<type>), il nome (acf/load_field/name=<name>) o la chiave (acf/load_field/key=<key>).

Supponiamo di creare un campo di testo in questo modo:

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

Potremmo scegliere come target acf/load_field/name=dyn_pop_example(mira solo a questo campo specifico), acf/load_field/type=text(si applica a tutti i campi di tipo testo) o acf/load_field(si applica a tutti i campi di qualsiasi tipo o nome). Quando si utilizzano gli ultimi due filtri è ovviamente possibile all’interno della funzione target tramite informazioni di campo specifiche, come il nome. Ogni campo in ACF ottiene anche una chiave univoca, ma sono nascosti e sono principalmente per uso interno di ACF.

Il filtro fornisce una variabile; la matrice del campo. Questa matrice fornisce tutte le informazioni sul campo corrente. Quello che fai è semplicemente cambiare le informazioni nell’array e restituire l’array del campo modificato. A seconda del tipo di campo, gli elementi nell’array differiscono. Ad esempio, i tipi di campo a scelta multipla come select e radiobox avranno un elemento array ‘ choices‘ che i campi ad esempio di tipo text non avranno. Ti consiglio di eseguire uno var_dump()degli array forniti per vedere a quale tipo di informazioni hai accesso.

Iniziamo a esaminare un po’ di codice reale!

Popolazione: semplici esempi

L’impostazione del valore predefinito di un input di testo sarebbe simile a questa:

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

Indirizziamo il nostro input di testo con il nome dyn_pop_examplee impostiamo il suo valore predefinito (chiave ‘ default_value‘) su una stringa di nostra scelta. Il campo verrà quindi visualizzato in questo modo:

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

È possibile modificare qualsiasi impostazione nel campo. Nell’esempio seguente impostiamo il segnaposto e le istruzioni del testo:

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; });

Il che renderà il campo in questo modo:

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

Popola le scelte

Se vuoi popolare dinamicamente le scelte di un campo select, radio o checkbox, fallo nell’elemento chiave dell’array ‘ choices‘. Questo choiceselemento ‘ ‘ si applica a tutti i campi di tipo select, radio e checkbox.

L’ choiceselemento ‘ ‘ deve essere un array di coppie chiave + valore. Le chiavi sono i valori (che verranno salvati) ei valori sono l’etichetta che compare come scelta.

Supponiamo di cambiare il nostro campo in un select. Puoi lasciare le scelte vuote in quanto verranno impostate tramite il nostro codice.

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

Per popolare le scelte di select lo facciamo in questo modo:

In linea #2 - #6definiamo semplicemente una serie di scelte. Modificalo in base alle tue esigenze. Alla riga #7assegniamo le scelte del campo al nostro array. Per buona misura, impostiamo anche il valore predefinito del campo. Questo non è necessario: senza linea, #8select sceglierebbe automaticamente la prima scelta nell’array ("rosso").

Il codice sopra renderà il campo in questo modo:

Come popolare dinamicamente le impostazioni dei campi personalizzati avanzati

Le scelte spettano a te, tutto ciò di cui devi occuparti è fornire una corretta matrice chiave + valore choicesall’elemento ‘ ‘ del campo. Come esempio di base, questo esempio di codice mostra come trasformare un normale campo di selezione in una scelta di post.

L’esempio di codice sopra crea una query di post che recupera tutte le pagine e popola l’array di scelta con ID post come chiavi e titoli di post come valori. Questo è solo un esempio; se hai intenzione di scegliere i post, ACF offre altri tipi di campo appositamente per questo.

Fonte di registrazione: awhitepixel.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More