我正在尝试根据已完成订单邮件购买的产品向客户发送自定义电子邮件。
add_action( 'woocommerce_thankyou', 'my_function' );
function my_function($order_id) {
$order = new WC_Order( $order_id );
foreach($order->get_items() as $item) {
$_product = get_product($item['product_id']);
if ($item['product_id']== 630) {
$to_email = $order["billing_address"];
$headers = 'From: Your Name <your@email.com>' . "\r\n";
wp_mail($to_email, 'subject', 'message', $headers );
}
}
}
它不起作用。我该如何解决呢?
由于
答案 0 :(得分:2)
我相信你的&#34; to&#34;电子邮件错了。由于$order
是一个对象,因此$order["billing_address"];
是一个数组键,不存在。获取结算电子邮件地址的正确表示法是$order->billing_email
。
add_action( 'woocommerce_thankyou', 'my_function' );
function my_function($order_id) {
$order = wc_get_order( $order_id ); //WC2.2 function name
foreach($order->get_items() as $item) {
if ($item['product_id']== 630) {
$_product = get_product($item['product_id']);
$to_email = $order->billing_email;
$headers = 'From: Your Name <your@email.com>' . "\r\n";
wp_mail($to_email, 'subject', 'message', $headers );
}
}
}