定制Woocommerce基于运输方式的新订单电子邮件通知
问题描述:
如何编辑admin-new-order.php WooCommerce模板以根据运输方式有条件地发送一些自定义客户详细信息?定制Woocommerce基于运输方式的新订单电子邮件通知
例如(新订单的电子邮件通知):
- 如果订单送货方式是
flat rate
,我想添加一些自定义字段信息到客户详细信息。 - 如果订单运输方式不是
flat rate
,我不希望显示自定义字段信息。
或者也许有一些片段,在这个函数function.php?
答
您可以使用任何的这个迷上一个自定义函数钩子(调整钩优先):
- woocommerce_email_order_details
- woocommerce_email_order_meta
- woocommerce_email_customer_details
这是一个上钩代码示例(而不是覆盖模板):
add_action ('woocommerce_email_customer_details', 'custom_email_customer_details', 15, 4);
function custom_email_customer_details($order, $sent_to_admin, $plain_text, $email){
// Only for "New Order" email notification
if ('new_order' != $email->id) return;
// Only "Flat Rate" Shipping Method
if ($order->has_shipping_method('flat_rate')){
$order_id = $order->get_id(); // The Order ID
// Test output
echo "<p>Message: The Order ID is $order_id</p>";
echo '<p>Custom field: '. get_post_meta($order_id, '_recorded_sales', true) .'</p>';
}
}
这里挂钩优先级是15,所以它是在客户详细信息之后。
代码会出现在您的活动子主题(或主题)的function.php文件中,或者也存在于任何插件文件中。
此代码已经过测试并可正常工作。
谢谢!如果我想有条件地删除账单地址或送货地址的详细信息或两者(截图 - http://prntscr.com/gioday),我应该使用什么钩子和数组? –