【发布时间】:2018-02-25 00:15:53
【问题描述】:
我在 Woocommerce 商店的结帐页面中添加了一个自定义字段。该字段是“餐厅位置”。在客户下订单后,我的目标是使用“餐厅位置”字段来确定将订单确认发送到哪个电子邮件。
这是我定义自定义字段的方式。
/////// Hook custom field in ///////
add_filter( 'woocommerce_checkout_fields', 'custom_checkout_fields' );
function custom_checkout_fields( $fields ) {
$fields['order']['restaurant_location'] = array(
'label' => __('Food options', 'woocommerce'),
'placeholder' => _x('', 'placeholder', 'woocommerce'),
'required' => true,
'clear' => false,
'type' => 'select',
'options' => array(
'no' => __('New Orleans', 'woocommerce' ),
'br' => __('Baton Rouge', 'woocommerce' )
)
);
return $fields;
}
这是我对电子邮件过滤器的尝试。
add_filter( 'woocommerce_email_recipient_new_order', 'gon_conditional_email_recipient', 10, 2 );
function gon_conditional_email_recipient( $recipient, $order ) {
$gon_order_data = $order->get_data();
$gon_restaurant_location = $gon_order_data['order']['restaurant_location'];
if ( $gon_restaurant_location == 'New Orleans' ) {
$recipient = 'test1@gmail.com';
return $recipient;
}
else if ( $gon_restaurant_location == 'Baton Rouge' ) {
$recipient = 'test2@gmail.com';
return $recipient;
}
return $recipient;
}
电子邮件过滤器正在工作,即我可以收到一封电子邮件以发送到任一地址,但我似乎无法正确提取“$gon_restaurant_location”变量。有什么想法吗?
谢谢,
ps
【问题讨论】:
标签: php wordpress woocommerce checkout email-notifications