Php 基于发货方式定制新订单电子邮件通知
如何编辑admin-new-order.php WooCommerce模板,以便根据发货方式有条件地发送一些自定义客户详细信息 例如(对于新订单电子邮件通知):Php 基于发货方式定制新订单电子邮件通知,php,wordpress,woocommerce,orders,email-notifications,Php,Wordpress,Woocommerce,Orders,Email Notifications,如何编辑admin-new-order.php WooCommerce模板,以便根据发货方式有条件地发送一些自定义客户详细信息 例如(对于新订单电子邮件通知): 如果订单发货方式为统一费率,我想在客户详细信息中添加一些自定义字段信息 如果订单发货方式不是统一费率,我不希望显示自定义字段信息 或者function.php中可能有一些代码片段用于此功能?您可以使用任何钩子中的自定义函数(调整钩子优先级): woocommerce\u电子邮件\u订单\u详细信息 woocommerce\u电子邮
- 如果订单发货方式为统一费率,我想在客户详细信息中添加一些自定义字段信息李>
- 如果订单发货方式不是统一费率,我不希望显示自定义字段信息李>
或者function.php中可能有一些代码片段用于此功能?您可以使用任何钩子中的自定义函数(调整钩子优先级):
- woocommerce\u电子邮件\u订单\u详细信息
- woocommerce\u电子邮件\u订单\u元
- woocommerce\u电子邮件\u客户\u详细信息
add_action('woocmerce_email_customer_details','custom_email_customer_details',15,4);
功能自定义电子邮件客户详细信息($order,$sent,$admin,$plain,$email){
//仅适用于“新订单”电子邮件通知
如果('new_order'!=$email->id)返回;
//只有“统一费率”的运输方式
如果($order->has_shipping_method('flat_rate')){
$order\u id=$order->get\u id();//订单id
//测试输出
echo“消息:订单ID为$Order_ID”;
回显“自定义字段:”。获取“post”meta($order\u id,“\u recorded\u sales”,true)。“”;
}
}
这里的钩子优先级是15,所以它在客户详细信息之后
代码位于活动子主题(或主题)的function.php文件或任何插件文件中
此代码已经过测试,可以正常工作。谢谢!如果我想有条件地删除账单地址或发货地址详细信息或两者(屏幕截图-),我应该使用什么钩子和数组?
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>';
}
}