Como ocultar o valor do preço do item nas notificações por correio eletrónico

Introdução

Gostaria de ocultar o Preço do item das notificações por correio eletrónico? Pode precisar de ocultar o total ou apenas o preço do item ou mesmo outro campo das suas notificações por correio eletrónico. Utilizando um pequeno trecho de PHP, pode facilmente excluir o preço da notificação.

Criar o formulário

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

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

Adicionar o snippet

Agora é altura 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 );

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

utilizando este snippet, pode ocultar o preço do item das notificações por correio eletrónico

E é tudo o que precisa! Gostaria de personalizar o cabeçalho do modelo de email quando envia os seus emails? Dê uma vista de olhos no nosso artigo sobre Como personalizar os estilos no modelo de e-mail.

Referência do filtro: wpforms_html_field_value

FAQ

P: É possível utilizar isto para ocultar um campo oculto da notificação por correio eletrónico?

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

P: Posso ocultar vários campos com isto?

R: Claro! Para ocultar mais de um campo, basta usar uma instrução PHP or. A instrução or é apenas dois pipelines no 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 );

Também pode fazer o mesmo com a expressão or e agrupar vários IDs de formulário, bem como vários IDs de campo.