我们有一个自动回复器,可将谢谢您的订单状态更改为已完成。自动响应器正在触发,但它正在将电子邮件发送给列表中的所有订户。我们似乎无法找出正确的代码将其仅发送给刚刚完成订单的订单,发送到帐单电子邮件。我们认为我们的代码是错误的,结果为null,导致发送给所有订阅者。
我们已经尝试了数百种代码。我觉得这是关闭代码,好像我们正在找到合适的收件人。
function trigger_autoresponder($order_id, $data) {
$email = get_post_meta( $order_id, '_billing_email', true );
do_action( 'my_custom_hook', $email );
}
// add the action
add_action( 'woocommerce_order_status_completed', 'trigger_autoresponder', 10, 1 );
我们希望自动回复电子邮件将“谢谢”电子邮件发送到已更改为“已完成”订单状态的订单的账单电子邮件地址。
答案 0 :(得分:0)
您无法通过电子邮件进行操作,您需要根据此处的文档使用订户ID来触发它。
获取帐单电子邮件-WC Order for getting billing email
单个订户的触发自动应答-Trigger responder with hook
function trigger_autoresponder($order_id, $data) {
$order = new WC_Order($order_id);
$email = $order->get_billing_email();
if(!$email) return;
$subscriber_id = mailster( 'subscribers' )->query( array(
'conditions' => array(
array(
'field' => 'email',
'operator' => '=',
'value' => $email,
)
)
));
do_action( 'my_custom_hook', $subscriber_id );
}
// add the action
add_action( 'woocommerce_order_status_completed', 'trigger_autoresponder', 10, 1 );
我没有办法测试它,我认为$ subscriber_id可能是一个数组。
有关订阅者搜索的文档尚不清楚-MAILSTER SUBSCRIBER QUERY