Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Come creare uno Smart Tag da un campo ACF

Sei interessato a creare Smart Tag personalizzati basati su campi generati con ACF (Advanced Custom Fields)? In questo tutorial, ti guideremo attraverso il processo di creazione di questi Smart Tag specializzati utilizzando un conciso snippet di codice.

Per l'illustrazione di questo tutorial, consideriamo un sito WordPress che utilizza i post come elementi del portfolio in vendita. Elaboreremo un singolo modulo da visualizzare su ogni pagina di post, integrandolo perfettamente nel template PHP.

Tuttavia, affinché gli autori possano elencare efficacemente i loro articoli in vendita, dovranno inserire i rispettivi prezzi. Sfruttando il plugin ACF, abbiamo incorporato un campo Prezzo nelle impostazioni del post.

Questo campo Prezzo verrà precompilato nel modulo e si aggiornerà dinamicamente in base al post visualizzato. Poiché il modulo rimane costante tra i post ma il Prezzo varia, impiegheremo uno Smart Tag per questo campo per garantirne l'adattabilità con l'aggiornamento delle informazioni di ciascun post.

Creazione del campo personalizzato con ACF

Innanzitutto, inizieremo creando il nostro campo personalizzato con il plugin Advanced Custom Fields.

Seguendo la documentazione di ACF, abbiamo aggiunto un nuovo campo ai nostri post chiamato portfolio_price.

Segui la documentazione ACF sulla creazione di un nuovo campo personalizzato per aggiungere un campo ai tuoi post.

Questo tutorial presuppone che tu abbia già aggiunto i tuoi campi al tuo post. Se hai bisogno di aiuto per aggiungere campi ai post di WordPress utilizzando il plugin Advanced Custom Fields, consulta la loro documentazione.

Creazione di uno Smart Tag dal campo ACF

Normalmente creeremmo prima il modulo. Tuttavia, poiché sappiamo che vogliamo utilizzare questo nuovo Smart Tag all'interno del nostro form builder, aggiungeremo lo snippet prima di creare il modulo.

Se hai bisogno di aiuto nell'aggiungere snippet al tuo sito, consulta questo tutorial.

/**
 * Register the Smart Tag so it will be available to select in the form builder.
 *
 * @link   https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
 */

function wpf_dev_register_smarttag( $tags ) {
 
    // Key is the tag, item is the tag name.
    $tags[ 'portfolio_price' ] = 'Portfolio Price';
 
    return $tags;
}

add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag' );
 
/**
 * Process the Smart Tag.
 *
 * @link   https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
 */

function wpf_dev_process_smarttag( $content, $tag ) {
 
    // Only run if it is our desired tag.
    if ( 'portfolio_price' === $tag ) {

        //Get the field name from ACF
        $my_acf_field = get_field( 'portfolio_price', get_the_ID() );

        // Replace the tag with our link.
        $content = str_replace( '{portfolio_price}', $my_acf_field, $content );
    }
 
    return $content;
}

add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );

Analizziamo queste due funzioni.

La prima funzione crea uno Smart Tag vuoto con il nome ‘Portfolio Price’. Ancora non verrà assegnato nulla a questo tag, lo stiamo solo creando con questa funzione.

La funzione successiva è dove definiremo lo Smart Tag e da dove dovrebbe estrarre le informazioni.

Con la riga $my_acf_field = get_field( ‘portfolio_price’, get_the_ID() ); stiamo dicendo al codice che deve andare su Advance Custom Fields e ottenere il valore di questo campo. Dovrai inserire il nome del campo qui. Per il nostro tutorial, abbiamo chiamato il nostro campo portfolio_price.

Se hai bisogno di aiuto per trovare il nome del tuo campo, modifica semplicemente il campo che hai creato in ACF e cerca l'etichetta Field Name.

cerca l'etichetta del campo che hai creato con il plugin ACF

Creazione del modulo

Abbiamo creato il nostro modulo per avere i campi modulo Nome, Email, Titolo Prodotto (Testo a riga singola), Prezzo Prodotto (Testo a riga singola) e Commenti (Testo Paragrafo).

Crea un nuovo modulo

Se hai bisogno di aiuto per creare un modulo, consulta questo tutorial.

Aggiunta degli Smart Tag

Per il nostro modulo, introdurremo il Titolo Prodotto, che è il titolo del post. Possiamo utilizzare uno Smart Tag integrato che WPForms fornisce già per questo.

Una volta aggiunto il campo Single Line Text per il Product Title, fai clic sulla scheda Advanced. Nel Default Value per il campo, fai clic sul link Show Smart Tags e seleziona Embedded Post/Page Title per far sì che il titolo del post compili automaticamente questo campo del modulo.

Aggiungi lo Smart Tag Embedded Post/Page Title per il valore predefinito sul campo Product Title

Successivamente, ripeteremo questo passaggio ancora per il campo Product Price.

Nella scheda Advanced del campo Product Price, seleziona lo Smart Tag {portfolio_price} dagli Smart Tag disponibili.

Ora puoi usare lo smart tag da acf

Aggiungere lo shortcode WPForms a un template PHP

Se hai bisogno di aiuto per aggiungere uno shortcode a un template PHP, ti preghiamo di consultare questo tutorial.

Per questo tutorial, abbiamo aggiunto il nostro shortcode in fondo al template della pagina del singolo post.

aggiungi lo shortcode in fondo al template della pagina del singolo post

Ora puoi vedere come cambiano i tuoi post, così come il Product Price e il Product Title del tuo modulo.

ora il prezzo del prodotto cambia dinamicamente

Vuoi creare altri Smart Tag personalizzati? Dai un'occhiata al nostro tutorial su Come creare uno Smart Tag personalizzato.

Filtro di Riferimento