fbpx

Bem vindo ao
Blog da FULL.

Aprenda, crie e cresça seu negócio na internet.

Encontre conteúdos, dicas, tutoriais e novidades sobre as principais ferramentas Wordpress

Adicione notas de pedido do WooCommerce a e-mails concluídos da sua loja WordPress

Você está em:

Adicione notas de pedido do WooCommerce a e-mails concluídos da sua loja WordPress

Não há nada melhor do que ter informações sobre um pedido que você fez em relação ao seu status ou quaisquer outros dados que você possa achar úteis em relação ao seu pedido. Por padrão, o WooCommerce armazena todas as ações vinculadas a um pedido no banco de dados. Esta série de ações está disponível na administração, na barra lateral quando você edita um pedido.

Mas seus clientes não têm acesso a essa lista de ações. A boa notícia é que você pode adicioná-lo facilmente a qualquer email enviado pelo WooCommerce. Neste post, mostrarei para você adicionar às notas do pedido o e-mail completo (é o e-mail enviado quando o status do pedido é marcado como concluído). Mas você também pode usar esse método para adicionar as notas do pedido a qualquer outro e-mail.

Modelos personalizados ou ganchos?

Apenas um lembrete rápido: todos os e-mails no WooCommerce são fornecidos usando modelos e você pode substituir os modelos padrão criando seus próprios modelos. Basicamente, um modelo personalizado permite substituir os arquivos padrão do WooCommerce e usar seus próprios arquivos personalizados. Aqui está um tutorial rápido que explicará como criar seus modelos personalizados: http://docs.woothemes.com/document/template-structure/.

Você pode adicionar as notas do pedido em modelos personalizados, mas gostaria de mostrar outra maneira de fazer isso, usando um gancho. A ideia é não usar templates customizados, mas usar o arquivo functions.php apenas dentro da pasta do seu tema.

As notas do pedido são comentários do WordPress

Notas de pedido são comentários do WordPress com um tipo específico “order_note”, para que você possa usar a classe WP_Query do WordPress aplicada a comentários usando a função get_comments().

O gancho que precisamos usar é uma ação chamada “woocommerce_email_order_meta”. A ideia é chamar uma função customizada quando essa ação for carregada no processo WooCommerce.

Usar get_comments() simplifica muito a maneira como podemos recuperar as notas do pedido, só precisamos ter certeza de que queremos listar os comentários vinculados a um pedido específico usando o ID do post e o atributo de comentário “aprovar”, o que significa que o comentário é validado (pelo WooCommerce neste caso).

O código

Aqui está o código para colocar dentro do arquivo functions.php na pasta do seu tema:

add_action( ‘woocommerce_email_order_meta’, ‘woo_add_order_notes_to_email’ );

function woo_add_order_notes_to_email() {

global $woocommerce, $post;

$args = array(

‘post_id’ => $post->ID,

‘approve’ => ‘approve’,

‘type’ => ‘order_note’

);

$notes = get_comments( $args );

echo ‘<h2>’ . __( ‘Order Notes’, ‘woocommerce’ ) . ‘</h2>’;

echo ‘<ul class=”order_notes”>’;

if ( $notes ) {

foreach( $notes as $note ) {

$note_classes = get_comment_meta( $note->comment_ID, ‘is_customer_note’, true ) ? array( ‘customer-note’, ‘note’ ) : array( ‘note’ );

?>

<li rel=”comment_ID ) ; ?>” class=””>

<div class=”note_content”>

comment_content ) ) ); ?>

</div>

<p class=”meta”>

comment_date_gmt ), current_time( ‘timestamp’, 1 ) ) ); ?>

</p>

</li>

<?php

}

} else {

echo ‘<li>’ . __( ‘There are no notes for this order yet.’, ‘woocommerce’ ) . ‘</li>’;

}

echo ‘</ul>’;

}

Como você pode ver, esse código é bem simples, nada muito complexo, então você pode personalizá-lo facilmente. Observe o uso de algumas funções interessantes como human_time_diff(), wptexturize() ou wp_kses_post().

Bem, espero que tenham gostado desse post, por favor deixe um comentário no formulário abaixo, eu adoraria receber seu feedback sobre ele!

Aprenda com a FULL.

Junte-se a mais de 50 mil pessoas que recebem em primeira mão as principais ferramentas e tecnologia para desenvolvimento web

Meu carrinho
🎁 Faltam R$300,00 para liberar o Cupom Secreto
Seu carrinho está vazio.

Parece que você não adicionou nada ao seu carrinho =(