我正在开发一个销售数字产品的网站。
对于买方要求将许可证发送到另一封电子邮件的要求,买方使用送货地址输入额外的电子邮件。
所以我添加了以下功能的电子邮件。
/*
* Add email to "shipping address"
*/
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
$fields['shipping']['shipping_email'] = array(
'label' => __('Email Address', 'woocommerce'),
'placeholder' => _x('Email', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
发货表单正确显示发货部分的电子邮件,但订单完成后我试图抓住该电子邮件,但我还没有收到。
我使用以下功能在发送电子邮件之前将电子邮件添加到收件人。
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'my_email_shipping_filter_function', 20, 2);
function my_email_shipping_filter_function ($recipient, $order){
$shipping_email = get_post_meta( $order->id, '_shipping_email', true );
if ($shipping_email != '') {
$recipient = $recipient.', '.$shipping_email;
return $recipient;
}
}
但是在发送确认时它无法正常工作,但是当我重定向到感谢页面时,我可以使用相同的功能并显示发送电子邮件。
希望有人可以提供帮助。