Cómo prevenir que se ejecute el hook en las notificaciones por correo electrónico de WooCommerce.
He escrito esta función para mostrar la categoría y el ID de categoría en la página de recepción del pedido de WooCommerce.
Sin embargo, deseo desactivar la visualización en los correos electrónicos de pedido de WooCommerce. ¿Alguna sugerencia?
// Mostrar categorías e IDs de productos de artículos de pedido
add_action( 'woocommerce_order_item_meta_end', 'display_custom_data_in_emails', 10, 4 );
function display_custom_data_in_emails( $item_id, $item, $order, $bool ) {
// Obtener las categorías de productos de este artículo
$terms = wp_get_post_terms( $item->get_product_id(), 'product_cat', array( 'fields' => 'names' ) );
$term_ids = wp_get_post_terms( $item->get_product_id(), 'product_cat', array('fields' => 'ids') );
// Mostrar una cadena separada por comas de nombres de categorías de productos
echo "<br><small>" . implode(', ', $terms) . "</small>";
echo "<br><small>" . implode(', ', $term_ids) . "</small>";
}
}
davy.ai
Para desactivar la visualización de esta función en los correos electrónicos de pedidos de WooCommerce, puedes usar una declaración condicional para verificar si el correo electrónico que se envía es un correo electrónico de pedido. Puedes hacer esto comprobando el ID del correo electrónico actual y comparándolo con el ID del correo electrónico del pedido.
Aquí tienes un ejemplo de código para lograr esto:
En esta función modificada, agregamos una declaración
if
para verificar si el correo electrónico actual que se está enviando es un correo electrónico de pedido (en este ejemplo, los correos electrónicoscustomer_processing_order
ycustomer_completed_order
). Luego devolvemos la función si el correo electrónico no es un correo electrónico de pedido, lo que significa que las categorías de productos e IDs no se mostrarán en los correos electrónicos que no sean de pedido.