除了 Woocommerce 结帐具有的默认帐单电子邮件地址字段外,我还有一个自定义结帐字段,该字段从客户那里获取第二个电子邮件地址。结帐完成后,我想向两个电子邮件地址发送一封电子邮件。电子邮件已成功发送到计费电子邮件,但不是来自自定义字段的电子邮件。
我正在使用过滤器woocommerce_payment_complete_order_status
来获取order_id
和发送邮件。而且,我正在使用该操作woocommerce_checkout_fields
添加自定义字段,它正在成功执行。
add_action( 'woocommerce_checkout_fields', 'my_woocommerce_checkout_fields' );
function my_woocommerce_checkout_fields( $fields ) {
foreach( WC()->cart->get_cart() as $cart_item ){
$product_id = $cart_item['product_id'];
if( $product_id == 786 ) {
$fields['billing']['billing_field_byten_email'] = array(
'label' => __('Partner Email'),
'placeholder' => _x('', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
}
}
return $fields;
}
add_filter('woocommerce_payment_complete_order_status','my_payment_complete_order_status', 10, 2);
function my_payment_complete_order_status( $order_status, $order_id ){
$order = new WC_Order($order_id);
$order_billing = $order->get_billing_email();
$partner_email = $order->get_meta('billing_field_byten_email');
wp_mail( $order_billing, "Subject test 3", "Message test 3" );
wp_mail( $partner_email, "Subject test 3", "Message test 3" );
return $order_status;
return $order_id;
}
我希望它在下订单后立即向这两个电子邮件地址发送电子邮件。