Como ocultar o valor do preço do item nas notificações por e-mail

Introdução

Gostaria de ocultar o preço do item das notificações por e-mail? Talvez você precise ocultar o total ou apenas o preço do item ou até mesmo outro campo de suas notificações por e-mail. Usando um pequeno trecho de PHP, você pode excluir facilmente o preço da notificação.

Criando o formulário

Para começar, criaremos um formulário de pagamento com campos de pagamento. Se precisar de ajuda com isso, consulte esta documentação.

criar um formulário de pagamento e adicionar seus campos de pagamento

Adicionando o snippet

Agora é hora de adicionar o snippet ao seu site.

Se precisar de ajuda para saber onde e como adicionar snippets ao seu site, consulte este tutorial.

/*
 * Hide the price from notifications
 *
 * @link https://wpforms.com/developers/how-to-hide-the-item-price-value-in-the-email-notifications
 */

function wpf_email_field_value( $value, $field, $form_data, $context) {
    
    if ( 'email-html' === $context ) {
	
        // If the form ID is 364 AND the field ID is 19 remove the value from the email notification	
        if ( 364 == $form_data[ 'id' ] && 19 == $field[ 'id' ] ) {

            return $field[ 'value' ] = '';

        }
    }

    return $value;
}
add_filter( 'wpforms_html_field_value', 'wpf_email_field_value', 15, 4 );

Você precisará atualizar o código acima para que ele corresponda ao ID correto do formulário (364) e ao ID correto do campo (19). Se precisar de ajuda para encontrar o ID do formulário ou do campo, consulte esta documentação.

Usando este snippet, você pode ocultar o preço do item das notificações por e-mail

E isso é tudo o que você precisa! Gostaria de personalizar o cabeçalho do modelo de e-mail ao enviar seus e-mails? Dê uma olhada em nosso artigo sobre Como personalizar os estilos no modelo de e-mail.

Referência de filtro: wpforms_html_field_value

PERGUNTAS FREQUENTES

P: É possível usar isso para ocultar um campo oculto da notificação por e-mail?

R: Sem dúvida! Basta alterar 19 == $field['id'] para corresponder ao ID do Hidden Field.

P: Posso ocultar vários campos com isso?

R: Claro! Portanto, para ocultar mais de um campo, você só precisa usar uma instrução PHP or. A instrução or é apenas dois pipelines em seu código. Veja o exemplo abaixo.

/*
 * Hide the price from notifications
 *
 * @link https://wpforms.com/developers/how-to-hide-the-item-price-value-in-the-email-notifications
 */

function wpf_email_field_value( $value, $field, $form_data, $context) {
    
    // If you are sending HTML emails run this snippet
    if ( 'email-html' === $context ) {

        // And if the form ID is 364 AND the field ID is 19 OR the form ID is 364 AND the field ID is 18
        // remove the value from the email notification	 		
        if ( 364 == $form_data[ 'id' ] && 19 == $field[ 'id' ] || 364 == $form_data[ 'id' ] && 18 == $field[ 'id' ]) {

            return $field['value'] = '';

        }
    }

    return $value;
}
add_filter( 'wpforms_html_field_value', 'wpf_email_field_value', 15, 4 );

Você também pode fazer o mesmo com o comando or e agrupar vários IDs de formulário, bem como vários IDs de campo.