Desactivar envío de correo para determinados productos en WooCommerce

WebProgramacion > Recursos sobre informática y tecnología > Programacion > WordPress > Desactivar envío de correo para determinados productos en WooCommerce

¿Quieres aprender más en mi canal de YouTube?

Suscríbete y no te pierdas ningún vídeo.

En el siguiente tutorial os cuento cómo podemos desactivar el email que en WordPress + WooCommerce se envía cuando un cliente finaliza un pedido.

El caso que trato en el vídeo es uno que se me ha dado esta semana con un cliente, que no quería que WooCommerce enviase email de confirmación de compra si se había comprado un producto de una categoría determinada.

Vídeo tutorial de cómo desactivar envío de correo en WooCommerce

Fragmento de código PHP necesario

add_filter( 'woocommerce_email_recipient_customer_processing_order', 'detener_envio_correo_woocommerce_categorias', 10, 2 );
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'detener_envio_correo_woocommerce_categorias', 10, 2 );
function detener_envio_correo_woocommerce_categorias( $recipient, $order )
{
    if( is_admin() ) return $recipient;

    // En este array ponemos la lista de IDs o slugs de las categorías
    $categorias = array( 1234 );

    // Recorremos todo el pedido en búsqueda de productos que estén en las categorías anteriores
    foreach ( $order->get_items() as $item )
	{
        // Instanciamos el objeto de la clase WC_Product
        $producto = $item->get_product(); 
        // Obtenemos el id del producto, teniendo en cuenta que pudiera ser una variación
        $idproducto = $producto->is_type('variation') ? $producto->get_parent_id() : $producto->get_id();

        // Comprobamos las categorías del producto
        if( has_term( $categorias, 'product_cat', $idproducto ) )
		{
			return ''; /* 	Si el producto está presente en alguna de las categorías iniciales, 
							no devolvemos nada en el destinatario. De esa forma WooCommerce no envía el correo.
						*/
		}
            
    }
    return $recipient;
}

Podría interesarte...

Buscar enlaces rotos en WordPress con Broken Link Checker
Mediante este fantástico plugin, vas a poder tener de una forma automatizada tu WordPress libre de enlaces rotos
Configura el correo electrónico y registra los emails enviados
Plugin para WordPress que facilita la configuración del correo electrónico mediante un asistente y registra todos los ...
Personalizar el texto de los correos de confirmación de pedido de WooCommerce
Ejemplos de código PHP que nos permiten personalizar el texto que WordPress envía cuando un pedido de WooCommerce es ...

Deja tu opinión

la política de privacidad que declaro haber leído.

(*) Campos necesarios. El correo electrónico no será público.