因此,我有这个功能,应该通过CC将完成的订单电子邮件发送到自定义电子邮件地址。如果函数仅包含If语句(请参见下文),则其工作正常。但是,当我添加其他自定义代码时,不会触发电子邮件。
我有一个自定义的帖子类型,可以存储所需的电子邮件地址。
抄送电子邮件是从产品元中的ACF Post对象字段抓取的。从ACF post对象字段中,我获取自定义字段(partner\\u email)。
我知道$partnerEmail是有效的,因为我在错误日志中看到了它——然而,当我将该变量输入到标题中时,它不起作用。任何帮助都将不胜感激。提前谢谢。
add_filter( \'woocommerce_email_headers\', \'enyc_order_completed_email_add_cc_bcc\', 9999, 3 );
function enyc_order_completed_email_add_cc_bcc( $headers, $email_id, $order ) {
$order_id = method_exists( $order, \'get_id\' ) ? $order->get_id() : $order->id;
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
//Get Product ID
$product_id = $item[\'product_id\'];
//Get Product Data
$product = wc_get_product( $product_id );
//Get Partner Data from Product
$partner = get_field( \'venue\', $product_id);
//Get Partner ID
$partnerID = $partner->ID;
//Get Partner Email
$partnerEmail = get_field( \'partner_email\', $partnerID);
//error_log( $partnerEmail);
}
if ( \'customer_completed_order\' == $email_id ) {
$headers .= \'Cc: Name <\'.$partnerEmail.\'>\' . \'\\r\\n\'; // del if not needed
$headers .= \'Bcc: Name <dave@eternal.nyc>\' . \'\\r\\n\'; // del if not needed
}
return $headers;
}
SO网友:7uc1f3r
How to debug
Step 1
add_filter( \'woocommerce_email_headers\', \'enyc_order_completed_email_add_cc_bcc\', 10, 3 );
function enyc_order_completed_email_add_cc_bcc( $headers, $email_id, $order ) {
// CHANGE EMAIL
$partnerEmail = \'some@email.com\';
$headers .= \'Cc: Name <\'.$partnerEmail.\'>\' . \'\\r\\n\'; // del if not needed
$headers .= \'Bcc: Name <dave@eternal.nyc>\' . \'\\r\\n\'; // del if not needed
return $headers;
}
Step 1 works? -> step 2
add_filter( \'woocommerce_email_headers\', \'enyc_order_completed_email_add_cc_bcc\', 10, 3 );
function enyc_order_completed_email_add_cc_bcc( $headers, $email_id, $order ) {
// CHANGE ID
$product_id = 100;
//Get Partner Data from Product
$partner = get_field( \'venue\', $product_id);
//Get Partner ID
$partnerID = $partner->ID;
//Get Partner Email
$partnerEmail = get_field( \'partner_email\', $partnerID);
$headers .= \'Cc: Name <\'.$partnerEmail.\'>\' . \'\\r\\n\'; // del if not needed
$headers .= \'Bcc: Name <dave@eternal.nyc>\' . \'\\r\\n\'; // del if not needed
return $headers;
}
Step 3, etc..