Categorias
PHP Wordpress

Como usar cabeçalhos e rodapé do WP Better emails nos emails do Woocommerce

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!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *