O objetivo final é utilizar o cabeçalho e o rodapé do Plugin WP Better Emails nos emails enviados pelo Woocomerce.
Para isso basta ter o plugin WP Better Emails devidamente instalado e configurado, e colar o seguinte código no seu functions.php
// verifica se o email está usando o cabeçalho e rodapé do Woocommerce
add_action( 'woocommerce_email_header', function(){ add_filter( "better_wc_email", "__return_true" ); } );
// esconde o cabeçalho e rodapé do Woocommerce
add_action( 'woocommerce_email_header', function(){ ob_start(); }, 1 );
add_action( 'woocommerce_email_header', function(){ ob_get_clean(); }, 100 );
add_action( 'woocommerce_email_footer', function(){ ob_start(); }, 1 );
add_action( 'woocommerce_email_footer', function(){ ob_get_clean(); }, 100 );
// insere o template criado no WP better email
add_action( 'phpmailer_init', 'better_phpmailer_init', 20 );
function better_phpmailer_init( $phpmailer ){
// Retorna true se o cabeçalho do woocomemrce rodou
if ( apply_filters( 'better_wc_email', false ) ){
global $wp_better_emails;
// adiciona o template
$phpmailer->Body = $wp_better_emails->set_email_template( $phpmailer->Body );
// substitui as variáveis
$phpmailer->Body = apply_filters( 'wpbe_html_body', $wp_better_emails->template_vars_replacement( $phpmailer->Body ) );
}
}
Essa função foi testada usando WP Better Emails 0.3, WordPress 4.5 e Woocommerce 3.1
Se você sabe uma maneira mais fácil para alterar os emails do Woocommerce, deixe um comentário!