Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado.

Ignorar

Como Processar Etiquetas Inteligentes em Rótulos de Campo

Introdução

Gostaria de processar Smart Tags nos rótulos dos campos nos seus formulários? Com um pequeno trecho de PHP, isto pode ser facilmente alcançado. Neste tutorial, vamos mostrar-lhe como processar Smart Tags nos rótulos dos campos do seu formulário.

Usar Smart Tags é uma ferramenta muito útil para extrair e exibir dinamicamente dados específicos dentro do seu formulário.

Por defeito, as Smart Tags não serão processadas se forem colocadas dentro de quaisquer rótulos de campo no seu formulário.

No entanto, esta funcionalidade pode ser útil se, por exemplo, quiser mostrar o nome de um utilizador com sessão iniciada, o URL da sua página ou até mesmo exibir outros detalhes usando Smart Tags personalizadas.

Para efeitos deste tutorial, vamos criar um formulário que apenas os nossos utilizadores com sessão iniciada possam ver, portanto queremos torná-lo mais pessoal usando o seu primeiro nome dentro do rótulo do campo de um formulário Parágrafo.

Adição do trecho de código

Vamos começar por adicionar o nosso trecho ao nosso site. Se precisar de alguma assistência sobre como adicionar trechos ao seu site, por favor, veja este tutorial.

Abaixo, vamos mostrar-lhe dois métodos, um que visa um ID de formulário específico e outro que seria aplicado a todos os formulários. Basta selecionar qual trecho gostaria de usar.

Visa um ID de formulário específico

Neste trecho, estamos a visar apenas o ID do formulário 365. Se precisar de ajuda para encontrar o seu ID de formulário, por favor, reveja este 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 );

Usar para todos os WPForms

O código mostrado abaixo permitiria isto em todos os seus WPForms.

/**
 * 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 );

Criar o seu formulário

Em seguida, vamos criar o nosso formulário e adicionar os nossos campos. O primeiro campo de formulário que vamos adicionar é um campo de formulário Texto de Parágrafo, vamos usar a nossa nova Smart Tag dentro do rótulo do campo para extrair o primeiro nome do utilizador. Portanto, vamos alterar o rótulo deste campo para Conte-nos um pouco sobre si {user_first_name}.

assim que o snippet for adicionado, pode agora usar as Smart Tags dentro dos rótulos dos campos

Se precisar de ajuda para criar o seu formulário, por favor, reveja esta documentação.

Quando o seu formulário for carregado, verá o nome que é extraído da sua nova Smart Tag.

A Smart Tag agora é exibida dentro do rótulo do campo

Usar as Smart Tags nas notificações por e-mail

Pode usar Smart Tags nas suas notificações também.

Para fazer isto, navegue para Definições a partir do construtor de formulários e selecione Notificações.

Ao configurar a sua mensagem de notificação por e-mail, pode selecionar Mostrar Smart Tags para incluir quais Smart Tags deseja incluir na sua mensagem

pode também usar as Smart Tags dentro da sua notificação por e-mail para fornecer uma notificação mais pessoal

Usar Smart Tags noutros rótulos de campos de formulário

Abaixo, encontrará o trecho necessário para cada um dos vários campos de formulário nos quais pode processar Smart Tags no rótulo de cada um destes campos específicos.

Como mencionado acima, estes trechos são específicos para um único ID de formulário. Se desejar torná-lo disponível para todos os formulários, simplesmente remova o bloco no trecho que referencia o ID do formulário.

/**
 * 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 );


Esta funcionalidade não suportará dados de entrada do utilizador (por exemplo, {field_id="3"}).

E é tudo! Pode agora processar as suas Smart Tags dentro dos Rótulos dos campos. Gostaria de processar Smart Tags nas descrições dos campos? Dê uma vista de olhos ao nosso artigo sobre Como Processar Smart Tags nas Descrições dos Campos.

Referência do Filtro: wpforms_textarea_field_display