Introdução
Gostaria de processar Smart Tags em rótulos de campo em seus formulários? Com um pequeno trecho de PHP, isso pode ser feito facilmente. Neste tutorial, mostraremos como processar as Smart Tags nos rótulos dos campos de seus formulários.
O uso de Smart Tags é uma ferramenta muito útil para extrair e exibir dinamicamente dados específicos em seu formulário.
Por padrão, as Smart Tags não serão processadas se forem colocadas dentro de qualquer rótulo de campo em seu formulário.
No entanto, essa funcionalidade pode ser útil se, por exemplo, você quiser mostrar um nome de usuário conectado, o URL da sua página ou até mesmo exibir outros detalhes usando Smart Tags personalizadas.
Para os fins deste tutorial, criaremos um formulário que somente os usuários conectados poderão ver e, portanto, queremos torná-lo mais pessoal usando o primeiro nome deles dentro do rótulo de um campo de formulário Paragraph.
Adicionando o snippet
Vamos começar adicionando o snippet ao nosso site. Se precisar de ajuda sobre como adicionar snippets ao seu site, consulte este tutorial.
A seguir, mostraremos dois métodos, um que visa a um ID de formulário específico e outro que seria aplicado a todos os formulários. Basta selecionar o snippet que você deseja usar.
Direcionamento para um ID de formulário específico
Neste snippet, estamos direcionando apenas o ID 365 do formulário. Se precisar de ajuda para encontrar o ID do formulário, consulte 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 );
Usando para todos os WPForms
O código mostrado abaixo permitiria isso 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 );
Criando seu formulário
Em seguida, vamos criar nosso formulário e adicionar nossos campos. O primeiro campo de formulário que adicionaremos é um campo de texto de parágrafo. Usaremos nossa nova Smart Tag dentro do rótulo do campo para obter o primeiro nome do usuário. Portanto, vamos alterar o rótulo desse campo para Conte-nos um pouco sobre você {user_first_name}.
Se precisar de ajuda para criar seu formulário, consulte esta documentação.
Quando o formulário for carregado, você verá o nome que foi extraído da nova Smart Tag.
Usando as Smart Tags nas notificações por e-mail
Você também pode usar as Smart Tags em suas notificações.
Para fazer isso, navegue até Settings (Configurações ) no construtor de formulários e selecione Notifications (Notificações).
Ao configurar sua mensagem de notificação por e-mail, você pode selecionar a opção Show Smart Tags para incluir as Smart Tags que deseja incluir em sua mensagem
Uso de Smart Tags em outros rótulos de campos de formulário
Abaixo, você encontrará o snippet necessário para cada um dos vários campos de formulário que podem ser processados com Smart Tags no rótulo de cada um desses campos específicos.
Conforme mencionado acima, esses snippets são específicos para um único ID de formulário. Se você quiser torná-lo disponível para todos os formulários, basta remover o bloco no snippet que faz referência ao 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 );
Essa funcionalidade não será compatível com dados de entrada do usuário (por exemplo, {field_id="3"}
).
E é isso! Agora você pode processar suas Smart Tags dentro de rótulos de campo. Você gostaria de processar Smart Tags em descrições de campo? Dê uma olhada em nosso artigo sobre Como processar Smart Tags em descrições de campo.
Relacionado
Referência do filtro: wpforms_textarea_field_display