Gostaria de incluir descrições de campos nas notificações por correio eletrónico? Por predefinição, o {all_fields} inclui todos os campos e etiquetas do formulário que são preenchidos a partir do formulário, com exceção das descrições. No entanto, pode facilmente incluir descrições dentro das notificações de correio eletrónico utilizando um pequeno snippet de PHP. Neste tutorial, vamos acompanhá-lo em cada passo para o conseguir!
Tenha em atenção que estes snippets não funcionarão se tiver selecionado o modelo de e-mail de Texto simples.
Criar o seu formulário
Em primeiro lugar, tem de criar o seu formulário. O nosso formulário terá apenas alguns campos incluídos e só um campo terá a Descrição do campo introduzida.
Depois de criar o seu formulário, basta preencher as descrições dos campos que pretende incluir na sua notificação por correio eletrónico.
Se precisar de ajuda para criar o seu formulário, consulte esta documentação.
Selecionar o modelo de e-mail
Neste tutorial, tem de se certificar de que não tem o modelo de e-mail de Texto simples selecionado. Se não tiver a certeza de qual é a definição que tem ou qual é a definição, pode sempre rever esta documentação para ver onde pode alterar esta opção.
Incluir as descrições dos campos na notificação
Agora é hora de adicionar o snippet ao seu site. Se precisar de ajuda para adicionar snippets ao seu site, consulte este tutorial.
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p>' . $field_data[ 'description' ] . '</p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
Ao adicionar este snippet, as suas descrições de campo serão incluídas em todas as suas notificações por correio eletrónico.
E já está! Incluiu agora as descrições dos campos nas suas notificações por correio eletrónico! Gostaria de ocultar também as opções de imagem das notificações por email? Dê uma olhada no artigo sobre Como ocultar opções de imagem em e-mails de notificação.
Filtro de referência
FAQ
P: Posso estilizar as descrições dos campos na notificação?
R:Pode adicionar algum estilo CSS às descrições dos campos utilizando este snippet.
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p style="padding:10px;background-color:#f6f6f6; color: #333333;"><i>' . $field_data[ 'description' ] . '</i></p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
P: Posso selecionar apenas um formulário através do ID do formulário?
R: Sem dúvida! Se quiser fazer isto apenas para um formulário, utilize este snippet.
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { // Only process this on form ID 780 if ( $form_data[ 'id' ] !== '780' ) { return $field_val; } if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p>' . $field_data[ 'description' ] . '</p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
Terá de substituir o 780 no snippet para corresponder ao seu próprio ID do formulário. Se precisar de ajuda para encontrar a ID do formulário, consulte este tutorial.
P: Como é que posso adicionar as descrições dos campos às entradas?
R: Pode incluir descrições de campo ao visualizar as entradas do formulário, adicionando este snippet ao seu site.
/* * Include field descriptions inside form entries. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'entry-single' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<br><br>' . $field_data[ 'description' ]; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
Ao utilizar o entry-single
estamos a permitir que as descrições dos campos sejam visualizadas quando se visualiza uma única entrada. As descrições dos campos não serão guardadas permanentemente em todas as entradas, se utilizar este snippet na entrada atual que está a ser visualizada, as descrições dos campos serão apresentadas no ecrã.
P: Posso adicionar apenas algumas descrições de campo em vez de todas?
R:Sem dúvida! Para este exemplo, só vamos incluir as descrições de campo para o campo Nome.
/* * Include field descriptions inside form entries. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( $field['type'] !== 'name' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][$field[ 'id' ]] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][$field[ 'id' ]]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<br><br>' . $field_data[ 'description' ]; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );