В WooCommerce я создал настраиваемое поле для адреса электронной почты.Теперь мне нужно, чтобы WooCommerce отправлял электронные письма с завершенными заказами только в адрес этого настраиваемого поля, если в этом поле есть значение.
Я выяснил, как отправить электронное письмо с завершенным заказом на пользовательский адрес электронной почты как BCC, но теперь я пытаюсь, чтобы сообщения электронной почты отправлялись на адрес электронной почты настраиваемого поля без стандартных адресов электронной почты.
Электронное письмо с настраиваемым полем в виде BCC (рабочий код):
// * Отправка счета на счета к оплате по выполненным заказам * //
add_filter( 'woocommerce_email_headers',
'wcmos_email_cc_alternative', 10, 3);
function wcmos_email_cc_alternative( $recipient, $email_id, $order )
{
if ($email_id == 'customer_completed_order') {
$alternative_email = $order->get_meta( 'purchase_order_email',
true );
if ( $alternative_email ) {
$recipient = '$alternative_email';
}
}
return $recipient;
}
Электронное письмо с настраиваемым полем в качестве основного получателя (код с ошибкой)):
add_filter( 'woocommerce_email_recipient_customer_completed_order',
'wcmos_email_cc_alternative', 10, 3);
function wcmos_email_cc_alternative( $recipient, $email_id, $item_id
) {
if ($email_id == 'customer_completed_order') {
$alternative_email = $order->get_meta( 'purchase_order_email',
true );
$po_email = wc_get_order_item_meta( $item_id,
'purchase_order_email - '.$enroll_num, true );
if ( $alternative_email ) {
$recipient = ', $po_email';
}
}
return $recipient;
}