Chabge回复dokan供应商的电子邮件地址



我们使用dokan多供应商,我们希望当客户回复订单电子邮件时,他们会转到供应商那里。

下面是我们使用的一些代码,但它停止了一些电子邮件的发送,停止了一些ve接收条纹连接付款和停止通知电子邮件的发送。任何帮助都将不胜感激!

* Change WooCommerce Order Emails `Reply-to`
*/
/**
* Change WooCommerce Order Emails `Reply-to`
*/
add_filter( 'woocommerce_email_headers', 'cbs_change_reply_to_email_address', 10, 3 );
function cbs_change_reply_to_email_address( $header, $email_id, $order) {
$order_status = $order->get_status();
if ($order_status == 'processing' || $order_status == 'completed') {
$WC_Product_Factory = new WC_Product_Factory();
$reply_to_name   = [];
$reply_to_email = [];
foreach($order->get_items() as $key => $item) {
$product = $WC_Product_Factory->get_product($item->get_product_id());
$author   = $product->post->post_author;
$vendor   = get_user_by('id', $author);
$vendor_obj = dokan()->vendor->get($vendor);
if ($vendor_obj) {
$reply_to_name[] = $vendor_obj->data->data->display_name . ' ';
$reply_to_email[] = $vendor_obj->data->data->user_email . ' ';
}
if (!empty($reply_to_name) && !empty($reply_to_email)) {
// Get the WC_Email instance Object
$email = new WC_Email($email_id);
$header  = "Content-Type: " . $email->get_content_type() . "rn";
$header .= 'Reply-to: ' . implode(', ', $reply_to_name) . ' <' . implode(', ', $reply_to_email) . ">rn";
}
return $header;
}
}
return $header;
}

如果您想更改客户订单电子邮件的回复电子邮件地址,可以尝试以下代码:

#-- Change Reply-to Email Address from Admin to Vendor --#
function change_reply_to_email_address( $header, $email_id, $order ) {
if( $email_id =='customer_processing_order' ){       
$vendor_id = dokan_get_seller_id_by_order( $order->get_id() );
$vendor    = dokan()->vendor->get( $vendor_id );
// HERE below set the name and the email address
$reply_to_name  = $vendor->get_shop_name();
$reply_to_email = $vendor->get_email();
// Get the WC_Email instance Object
$email = new WC_Email( $email_id );
$header  = "Content-Type: " . $email->get_content_type() . "rn";
$header .= 'Reply-to: ' . $reply_to_name . ' <' . $reply_to_email . ">rn";
}
return $header;
}
add_filter( 'woocommerce_email_headers', 'change_reply_to_email_address', 10, 3 );

相关内容

最新更新