fbpx

¿Cómo personalizar el contenido de los emails en WooCommerce?

Los emails que envía WooCommerce a tus usuarios son una oportunidad genial para fidelizar a los usuarios de tu ecommerce. Aprende cómo personalizarlos de forma fácil y añade aquella información que desees para mejorar la experiencia de compra de tus clientes.

A continuación repasamos todo lo que debes tener en cuenta y que hemos visto en el videotutorial de hoy, para personalizar el contenido de los emails de WooCommerce jugando con sus hooks:

<?php

// Header, contenido y footer
         
add_action( 'woocommerce_email_header', array( $object, 'email_header' ) );
add_action( 'woocommerce_email_order_details', array( $object, 'order_details' ), 10, 4 );
add_action( 'woocommerce_email_order_details', array( $object, 'order_schema_markup' ), 20, 4 );
add_action( 'woocommerce_email_order_meta', array( $object, 'order_meta' ), 10, 3 );
add_action( 'woocommerce_email_customer_details', array( $object, 'customer_details' ), 10, 3 );
add_action( 'woocommerce_email_customer_details', array( $object, 'email_addresses' ), 20, 3 );
add_action( 'woocommerce_email_footer', array( $object, 'email_footer' ) );

 
// Hooks para enviar emails con un evento de WooCommerce
         
add_action( 'woocommerce_low_stock_notification', array( $object, 'low_stock' ) );
add_action( 'woocommerce_no_stock_notification', array( $object, 'no_stock' ) );
add_action( 'woocommerce_product_on_backorder_notification', array( $object, 'backorder' ) );
add_action( 'woocommerce_created_customer_notification', array( $object, 'customer_new_account' ), 10, 3 );
  • Introduce cualquiera de los add_action de header, contenido o footer y cámbialos por un remove_action si deseas eliminar información de los emails de WooCommerce y guarda el archivo de tu plugin de funciones para aplicar los cambios.
  • Además, tienes disponibles los siguientes hooks para añadir la información que desees allá donde la necesites:
    • woocommerce_email_header
    • woocommerce_email_order_details
    • woocommerce_email_before_order_table
    • woocommerce_order_item_meta_start
    • woocommerce_order_item_meta_end
    • woocommerce_email_after_order_table
    • woocommerce_email_order_meta
    • woocommerce_email_customer_details
    • woocommerce_email_footer
  • Por lo tanto, si lo que quieres es insertar algún contenido en alguno de los hooks de los emails de WooCommerce, puedes utilizar la siguiente función de ejemplo. Edita el contenido HTML que se encuentra dentro de la función ECHO y cambia el hook por aquel donde quieras mostrar dicha información.
<?php

add_action( 'woocommerce_email_before_order_table', 'function_woocommerce_email_before_order_table', 20, 4 );
function function_woocommerce_email_before_order_table( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_processing_order' ) {
        echo '<div class="woocommerce-info">woocommerce_email_before_order_table</div>';
    }
}
  • Como ves, debes tener en cuenta qué condicional vas a utilizar. Para evitar que aquella información que introduzcas aparezca en todos los emails que envía WooCommerce. Para ello, dispones de los siguientes condicionales:
<?php

if ( $email->id == 'cancelled_order' ) {}
if ( $email->id == 'customer_completed_order' ) {}
if ( $email->id == 'customer_invoice' ) {}
if ( $email->id == 'customer_new_account' ) {}
if ( $email->id == 'customer_note' ) {}
if ( $email->id == 'customer_on_hold_order' ) {}
if ( $email->id == 'customer_refunded_order' ) {}
if ( $email->id == 'customer_reset_password' ) {}
if ( $email->id == 'failed_order' ) {}
if ( $email->id == 'new_order' ) {}

¡Así de simple y así de fácil! Ahora solo tienes que jugar con los distintos hooks y condicionales que poseen los emails de WooCommerce para cambiar por completo la información que muestras a tus usuarios.

Resumiendo…

Cómo ves, jugar con estos pequeños fragmentos de código o snippets te permite personalizar tu instalación de WooCommerce como prefieras. Para añadir información complementaria en cualquier email que envía WooCommerce a tus usuarios no es necesario instalar ningún plugin, tan sólo debes hacer una modificación sencilla como la que hemos visto en el tutorial de hoy.

Y como siempre, si tienes cualquier problema, no dudes en contactar conmigo. Nos vemos la próxima semana, con un nuevo tutorial. Hasta entonces… ¡feliz semana! 😉

Author avatar
Ángel Martín
Ayudo a emprendedores y empresas a digitalizar su negocio y sus procesos optimizando sus costes.