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.