Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于发货方式定制新订单电子邮件通知_Php_Wordpress_Woocommerce_Orders_Email Notifications - Fatal编程技术网

Php 基于发货方式定制新订单电子邮件通知

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电子邮

如何编辑admin-new-order.php WooCommerce模板,以便根据发货方式有条件地发送一些自定义客户详细信息

例如(对于新订单电子邮件通知):

  • 如果订单发货方式为统一费率,我想在客户详细信息中添加一些自定义字段信息
  • 如果订单发货方式不是统一费率,我不希望显示自定义字段信息

或者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>';
    }
}