Come elaborare gli smart tag nelle etichette di campo

Introduzione

Volete elaborare gli Smart Tag nelle etichette dei campi dei vostri moduli? Con un piccolo snippet PHP, questo può essere facilmente realizzato. In questo tutorial vi mostreremo come elaborare gli Smart Tag nelle etichette dei campi dei vostri moduli.

L'uso degli Smart Tag è uno strumento molto utile per estrarre e visualizzare dinamicamente dati specifici all'interno del modulo.

Per impostazione predefinita, gli Smart Tag non vengono elaborati se inseriti nelle etichette dei campi del modulo.

Tuttavia, questa funzionalità può essere utile se, ad esempio, si desidera mostrare il nome dell'utente che ha effettuato l'accesso, l'URL della pagina o anche visualizzare altri dettagli utilizzando Smart Tag personalizzati.

Per lo scopo di questo tutorial, creeremo un modulo che solo i nostri utenti loggati possono vedere, quindi vogliamo renderlo più personale utilizzando il loro nome di battesimo all'interno dell'etichetta di un campo del modulo Paragraph.

Aggiunta dello snippet

Inizieremo aggiungendo il nostro snippet al nostro sito. Se avete bisogno di assistenza su come aggiungere gli snippet al vostro sito, consultate questo tutorial.

Di seguito verranno mostrati due metodi, uno che si rivolge a uno specifico ID di modulo e un altro che si applica a tutti i moduli. È sufficiente selezionare lo snippet che si desidera utilizzare.

Individuazione di un ID modulo specifico

In questo snippet, ci occuperemo solo dell'ID del modulo 365. Se avete bisogno di aiuto per trovare l'ID del vostro modulo, consultate questo tutorial.

/**
 * Run Smart Tags on all field labels.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */
  
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {
    
    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
    if ( absint( $form_data[ 'id' ] ) !== 365 ) {
        return $field;
    }
	
    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );

Utilizzo per tutti i WPForm

Il codice mostrato di seguito consente di utilizzare tutti i WPForm.

/**
 * Run Smart Tags on field labels in WPForms.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */
 
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );

Creazione del modulo

Quindi, creeremo il nostro modulo e aggiungeremo i nostri campi. Il primo campo del form che aggiungeremo è un campo Paragraph Text; useremo il nostro nuovo Smart Tag all'interno dell'etichetta del campo per estrarre il nome dell'utente. Quindi cambieremo l'etichetta di questo campo in Parlaci un po' di te {nome_utente}.

Una volta aggiunto lo snippet, è possibile utilizzare gli Smart Tag all'interno delle etichette dei campi.

Se avete bisogno di aiuto per creare il vostro modulo, consultate questa documentazione.

Quando il modulo viene caricato, si vedrà il nome estratto dal nuovo Smart Tag.

Lo Smart Tag viene ora visualizzato all'interno dell'etichetta del campo

Utilizzo degli Smart Tag nelle notifiche e-mail

È possibile utilizzare gli Smart Tag anche nelle notifiche.

A tale scopo, dall'interno del costruttore di moduli, andare su Impostazioni e selezionare Notifiche.

Durante la configurazione del messaggio di notifica via e-mail, è possibile selezionare l'opzione Mostra Smart Tag per includere gli Smart Tag che si desidera includere nel messaggio.

è possibile utilizzare gli Smart Tag all'interno della notifica via e-mail per fornire una notifica più personale.

Utilizzo degli Smart Tag nelle etichette di altri campi del modulo

Di seguito, troverete lo snippet necessario per ciascuno dei vari campi del modulo che potete elaborare con gli Smart Tag nell'etichetta di ciascuno di questi campi specifici.

Come già detto, questi snippet sono specifici per un singolo ID di modulo. Se si desidera renderli disponibili per tutti i moduli, è sufficiente rimuovere il blocco dello snippet che fa riferimento all'ID del modulo.

/**
 * Run Smart Tags on field labels in WPForms.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */

// Run smart tags on text field label.
function wpf_dev_text_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 )
    return $field;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_text_field_display', 'wpf_dev_text_field_display', 10, 3 );


// Run smart tags on textarea field label.
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );


// Run smart tags on checkbox field label.
function wpf_dev_checkbox_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_checkbox_field_display', 'wpf_dev_checkbox_field_display', 10, 3 );


// Run smart tags on email field label.
function wpf_dev_email_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_email_field_display', 'wpf_dev_email_field_display', 10, 3 );


// Run smart tags on select field label.
function wpf_dev_select_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_select_field_display', 'wpf_dev_select_field_display', 10, 3 );


// Run smart tags on radio field label.
function wpf_dev_radio_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_radio_field_display', 'wpf_dev_radio_field_display', 10, 3 );


// Run smart tags on number field label.
function wpf_dev_number_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_number_field_display', 'wpf_dev_number_field_display', 10, 3 );


// Run smart tags on name field label.
function wpf_dev_name_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_name_field_display', 'wpf_dev_name_field_display', 10, 3 );


// Run smart tags on phone field label.
function wpf_dev_phone_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_phone_field_display', 'wpf_dev_phone_field_display', 10, 3 );


// Run smart tags on address field label.
function wpf_dev_address_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_address_field_display', 'wpf_dev_address_field_display', 10, 3 );


// Run smart tags on URL field label.
function wpf_dev_url_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_url_field_display', 'wpf_dev_url_field_display', 10, 3 );


// Run smart tags on password field label.
function wpf_dev_password_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_password_field_display', 'wpf_dev_password_field_display', 10, 3 );


// Run smart tags on payment checkbox field label.
function wpf_dev_payment_checkbox_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_checkbox_field_display', 'wpf_dev_payment_checkbox_field_display', 10, 3 );


// Run smart tags on payment multiple select field label.
function wpf_dev_payment_multiple_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_multiple_field_display', 'wpf_dev_payment_multiple_field_display', 10, 3 );


// Run smart tags on single payment field label.
function wpf_dev_payment_single_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_single_field_display', 'wpf_dev_payment_single_field_display', 10, 3 );


Questa funzionalità non supporta i dati immessi dall'utente (ad esempio, {field_id="3"}).

Ed ecco fatto! Ora potete elaborare gli Smart Tag all'interno delle etichette dei campi. Volete elaborare gli Smart Tag nelle descrizioni dei campi? Date un'occhiata al nostro articolo su Come elaborare gli Smart Tag nelle descrizioni dei campi.

Riferimento filtro: wpforms_textarea_field_display