WooCommerce – Assunto dos e-mails transacionais

WooCommerce - Assunto dos e-mails transacionais

Já tentou usar codeíaveis do tipo {customer_name}, {customer_billing_first_name}, {billing_first_name} dentro do assunto de seus emails transacionais?

Elas não funcionam como as outras: {site_title}, {order_number} e {order_date}.

Se você precisa que o nome do cliente apareça no assunto da mensagem, então, será preciso utilizar outro método. Um filtro, por exemplo.

Como modificar o assunto do email enviado pelo WooCommerce?

Você pode colocar o código no arquivofunctions.php.

<?php
/**
 * Sobrescrever assunto dos emails transacionais do WooCommerce.
 *
 * Tags possíveis para usar como parâmetro em add_filter():
 *
 * woocommerce_email_subject_new_order                  = Novo pedido
 * woocommerce_email_subject_customer_processing_order  = Processando pedido
 * woocommerce_email_subject_customer_completed_order   = Pedido concluído
 * woocommerce_email_subject_customer_invoice           = Fatura do cliente
 * woocommerce_email_subject_customer_note              = Nota do cliente
 * woocommerce_email_subject_low_stock                  = Notificações de baixo estoque
 * woocommerce_email_subject_no_stock                   = Notificações de item em falta no estoque
 * woocommerce_email_subject_backorder                  = Pedido de produto sob encomenda
 * woocommerce_email_subject_customer_new_account       = Nova conta
 * woocommerce_email_subject_correios_tracking          = Template criado pelo plugin WooCommerce Correios
 *
 * @return    string    $subject    Nova linha de assunto.
 */
function change_transactional_email_subject( $subject, $order ) {
	$subject = sprintf( ' %s, recebemos seu pedido #%s em %s', $order->billing_first_name, $order->id, date_i18n( wc_date_format(), strtotime( $order->order_date ) ) );

	return $subject;
}

add_filter( 'woocommerce_email_subject_new_order', 'change_transactional_email_subject', 100, 2 );

O código acima retorna a variável $subject. Veja o exemplo de como o José veria $subject dentro da sua caixa de entrada:

José, recebemos seu pedido #0001145 em 25 de Junho de 2015

Inserir no assunto do email dados além do nome

Note que no código acima foi usada a variável $order->billing_first_name para resgatar o nome do cliente. Veja abaixo como resgatar outros dados que ficam anexados juntamente ao pedido do cliente:

<?php
$order->billing_first_name; // Nome do cliente.
$order->billing_last_name; // Sobrenome do cliente.
$order->id; // Número do pedido.
$order->order_date; // Data do pedido.

get_bloginfo( 'name' ); // Nome do site.

Acesse https://docs.woocommerce.com/document/change-email-subject-lines/ e saiba mais.


Filipe Seabra
Filipe Seabra
Full Stack Web Developer

Deixe um comentário