定制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文件中,或者也存在于任何插件文件中。

此代码已经过测试并可正常工作。

+1

谢谢!如果我想有条件地删除账单地址或送货地址的详细信息或两者(截图 - http://prntscr.com/gioday),我应该使用什么钩子和数组? –