Woocommerce客户详细信息在版本3.2中移动了吗?

时间:2017-11-01 21:44:41

标签: wordpress woocommerce

我们一直在使用来自Woocommerce的电子邮件通知,并且它通过3.2的新更新打破了部分通知,而且我不知道如何修复。我看一下这个文件," class-wc-emails.php" (woocommerce / includes / class-wc-emails.php)生成电子邮件通知的地方,它有一条含糊不清的消息,说明"在3.2之前的版本中,这用于笔记,电话和电子邮件但是这些数据已经移动。"

我回顾一下我们保存的存档网站,它有这个代码,可以调用我希望添加回通知的笔记,电话和电子邮件

    // Code prior to 3.2
    $fields = array();

    if ( $order->get_customer_note() ) {
        $fields['customer_note'] = array(
            'label' => __( 'Note', 'woocommerce' ),
            'value' => wptexturize( $order->get_customer_note() ),
        );
    }

    if ( $order->get_billing_email() ) {
        $fields['billing_email'] = array(
            'label' => __( 'Email address', 'woocommerce' ),
            'value' => wptexturize( $order->get_billing_email() ),
        );
    }

    if ( $order->get_billing_phone() ) {
        $fields['billing_phone'] = array(
            'label' => __( 'Phone', 'woocommerce' ),
            'value' => wptexturize( $order->get_billing_phone() ),
        );
    }

我尝试将其包括在内,但似乎没有将笔记,电话和电子邮件添加到我的电子邮件通知中。有谁知道我需要做些什么来获取客户详细信息(笔记,电话和电子邮件)以显示在我们的新订单通知中?

1 个答案:

答案 0 :(得分:1)

您可以通过woocommerce_email_customer_details_fields过滤器添加要在订单电子邮件中显示的额外字段。

add_filter( 'woocommerce_email_customer_details_fields', 'add_woocommerce_email_customer_details_fields', 10, 3 );

function add_woocommerce_email_customer_details_fields( $fields, $sent_to_admin, $order ) {

    if ( $order->get_customer_note() ) {
        $fields['customer_note'] = array(
            'label' => __( 'Note', 'woocommerce' ),
            'value' => wptexturize( $order->get_customer_note() ),
        );
    }

    if ( $order->get_billing_email() ) {
        $fields['billing_email'] = array(
            'label' => __( 'Email address', 'woocommerce' ),
            'value' => wptexturize( $order->get_billing_email() ),
        );
    }

    if ( $order->get_billing_phone() ) {
        $fields['billing_phone'] = array(
            'label' => __( 'Phone', 'woocommerce' ),
            'value' => wptexturize( $order->get_billing_phone() ),
        );
    }

    return $fields;
}