Creé un nuevo campo en la parte de pago usando el complemento de un campo de pago. Este campo permite al cliente especificar una tercera dirección de correo electrónico fuera de la dirección de facturación o envío. Quiero enviar la confirmación del pedido solo a esta dirección y no a la parte de facturación.
Después de varias búsquedas, utilicé Enviar pedido de Woocommerce a la dirección de correo electrónico que figura en el código de respuesta de la página del producto, reemplazando la clave meta del artículo del pedido 'email'
por 'billing_email_guest'
me gusta:
$email = wc_get_order_item_meta( $item_id, 'billing_email_guest', true );
Pero no funciona. ¿Que estoy haciendo mal?
No está utilizando la forma correcta, ya que se trata de metadatos de pedidos personalizados, pero no articulo ordenado metadatos.
Pruebe lo siguiente en su lugar:
add_filter( 'woocommerce_email_recipient_customer_on_hold_order', 'additional_customer_email_recipient', 10, 2 ); // On hold Order
add_filter( 'woocommerce_email_recipient_customer_processing_order', 'additional_customer_email_recipient', 10, 2 ); // Processing Order
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'additional_customer_email_recipient', 10, 2 ); // Completed Order
function additional_customer_email_recipient( $recipient, $order ) {
if ( ! is_a( $order, 'WC_Order' ) )
return $recipient;
$billing_email_guest = $order->get_meta('billing_email_guest');
if( ! empty($billing_email_guest) ) {
return $billing_email_guest;
}
return $recipient;
}
El código va en el archivo functions.php de su tema secundario activo (o tema activo). Debería funcionar.