Agregue notas de pedido de WooCommerce a correos electrónicos completados desde su tienda de WordPress

No hay nada mejor que tener información sobre un pedido que realizó con respecto a su estado o cualquier otro dato que pueda encontrar útil con respecto a su pedido. De forma predeterminada, WooCommerce almacena todas las acciones vinculadas a un pedido en la base de datos. Esta serie de acciones está disponible en la administración, en la barra lateral cuando edita un pedido. Pero sus clientes no tienen acceso a esta lista de acciones. La buena noticia es que puede agregarlo fácilmente a cualquier correo electrónico enviado por WooCommerce. En esta publicación, le mostraré agregar para agregar las notas del pedido el correo electrónico completo (es el correo electrónico enviado cuando el estado del pedido se marca como completado). Pero también puede usar ese método para agregar las notas del pedido a cualquier otro correo electrónico.

¿Plantillas personalizadas o ganchos?

Solo un recordatorio rápido: todos los correos electrónicos dentro de WooCommerce se proporcionan mediante plantillas, y puede anular las plantillas predeterminadas creando sus propias plantillas. Básicamente, una plantilla personalizada le permite anular los archivos predeterminados de WooCommerce y usar sus propios archivos personalizados en su lugar. Aquí hay un tutorial rápido que le explicará cómo crear sus plantillas personalizadas: http://docs.woothemes.com/document/template-structure/.

Puede agregar las notas del pedido dentro de una plantilla personalizada, pero me gustaría mostrarle otra forma de hacerlo, usando un gancho. La idea es no usar plantillas personalizadas, sino usar el archivo functions.php solo dentro de la carpeta de su tema.

Las notas de pedido son comentarios de WordPress

Las notas de pedido son comentarios de WordPress que tienen un tipo específico “order_note”, por lo que puede usar la clase WP_Query de WordPress aplicada a los comentarios usando la función get_comments ().

El gancho que debemos usar es una acción llamada “woocommerce_email_order_meta”. La idea es llamar a una función personalizada cuando esta acción se carga en el proceso de WooCommerce.

El uso de get_comments () simplifica la forma en que podemos recuperar las notas del pedido, solo debemos asegurarnos de que queremos enumerar los comentarios vinculados a un pedido específico usando el ID de publicación y el atributo de comentario “aprobar”, lo que significa que el comentario está validado (por WooCommerce en este caso).

El código

Aquí está el código para colocar dentro del archivo functions.php en su carpeta de temas:

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 '

' . __( 'Order Notes', 'woocommerce' ) . '

'; echo '
    '; if ( $notes ) { foreach( $notes as $note ) { $note_classes = get_comment_meta( $note->comment_ID, 'is_customer_note', true ) ? array( 'customer-note', 'note' ) : array( 'note' ); ?>
  • comment_content ) ) ); ?>

    comment_date_gmt ), current_time( 'timestamp', 1 ) ) ); ?>

  • ' . __( 'There are no notes for this order yet.', 'woocommerce' ) . ''; } echo '
'; }

Como puede ver, este código es bastante simple, nada realmente complejo, por lo que puede personalizarlo fácilmente. Tenga en cuenta el uso de algunas funciones agradables como human_time_diff (), wptexturize () o wp_kses_post ().

Bueno, espero que haya disfrutado de esa publicación, deje un comentario en el formulario a continuación, ¡me encantaría recibir sus comentarios al respecto!

Publicaciones relacionadas

Botón volver arriba