将 WooCommerce 电子邮件通知发送到帐单和用户电子邮件地址
Send WooCommerce email notifications to billing and user email address
我想使用 woocommerce_mail_headers
过滤器将自定义电子邮件发送到帐单电子邮件地址和用户电子邮件地址。
最近几天我阅读了很多关于这个问题的不同帖子,但我找不到有效的解决方案。
当 $cc_email
和 $user_name
是预定义的但当它们是可变的(取决于 $order
)时,下面的代码是可以的。
my_custom_email
是我的电子邮件模板的 ID(非常接近 WooCommerce 电子邮件模板)
add_filter( 'woocommerce_email_headers', 'cc_user_function', 10, 3);
function cc_user_function($headers, $email_id, $order) {
if ($email_id == 'my_custom_email'){
$order_nr = wc_get_order( $order );
$user_id = $order_nr->get_user_id();
$cc_email = get_userdata($user_id)->user_email ;
$user_name = $user->get_first_name().' ';
$user_name .= $user->get_last_name();
$formatted_email = utf8_decode($user_name . ' <' . $cc_email . '>');
$headers .= 'Cc: '.$formatted_email .'\r\n';
}
return $headers;
}
你能帮我解决这个问题吗?
要获取 WP_User 对象的实例,您可以使用 $order->get_user()
所以你得到:
function filter_woocommerce_email_headers( $header, $email_id, $order ) {
// For a given email id & user id exists (no guests)
if ( $email_id == 'customer_on_hold_order' && $order->get_user_id() > 0 ) {
// Get an instance of the WP_User object
$user = $order->get_user();
// Get user email
$user_email = $user->user_email;
// Get first & last name
$user_name = $user->first_name . ' ';
$user_name .= $user->last_name;
// Prepare the the data
$formatted_email = utf8_decode( $user_name . ' <' . $user_email . '>' );
// Add Cc to headers
$header .= 'Cc: ' . $formatted_email . '\r\n';
}
return $header;
}
add_filter( 'woocommerce_email_headers', 'filter_woocommerce_email_headers', 10, 3 );
我想使用 woocommerce_mail_headers
过滤器将自定义电子邮件发送到帐单电子邮件地址和用户电子邮件地址。
最近几天我阅读了很多关于这个问题的不同帖子,但我找不到有效的解决方案。
当 $cc_email
和 $user_name
是预定义的但当它们是可变的(取决于 $order
)时,下面的代码是可以的。
my_custom_email
是我的电子邮件模板的 ID(非常接近 WooCommerce 电子邮件模板)
add_filter( 'woocommerce_email_headers', 'cc_user_function', 10, 3);
function cc_user_function($headers, $email_id, $order) {
if ($email_id == 'my_custom_email'){
$order_nr = wc_get_order( $order );
$user_id = $order_nr->get_user_id();
$cc_email = get_userdata($user_id)->user_email ;
$user_name = $user->get_first_name().' ';
$user_name .= $user->get_last_name();
$formatted_email = utf8_decode($user_name . ' <' . $cc_email . '>');
$headers .= 'Cc: '.$formatted_email .'\r\n';
}
return $headers;
}
你能帮我解决这个问题吗?
要获取 WP_User 对象的实例,您可以使用 $order->get_user()
所以你得到:
function filter_woocommerce_email_headers( $header, $email_id, $order ) {
// For a given email id & user id exists (no guests)
if ( $email_id == 'customer_on_hold_order' && $order->get_user_id() > 0 ) {
// Get an instance of the WP_User object
$user = $order->get_user();
// Get user email
$user_email = $user->user_email;
// Get first & last name
$user_name = $user->first_name . ' ';
$user_name .= $user->last_name;
// Prepare the the data
$formatted_email = utf8_decode( $user_name . ' <' . $user_email . '>' );
// Add Cc to headers
$header .= 'Cc: ' . $formatted_email . '\r\n';
}
return $header;
}
add_filter( 'woocommerce_email_headers', 'filter_woocommerce_email_headers', 10, 3 );