【问题标题】:Add order notes to admin emails in woocommerce在 woocommerce 中向管理员电子邮件添加订单备注
【发布时间】:2018-01-09 19:11:14
【问题描述】:

我正在尝试将 woocommerce 结帐页面中的 order_cmets 字段添加到新订单管理员电子邮件中。

这是我对其他字段的处理方式(适用于有条件的运输方式):

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 '<table>';
        echo '<tr>';
        echo '<td>';
                 echo '<br><strong>'.__('Имя').':</strong> ' . get_post_meta( $order->id, '_billing_first_name', true ); 
        echo '<br><strong>'.__('Фамилия').':</strong> ' . get_post_meta( $order->id, '_billing_last_name', true );
                     echo '<br><strong>'.__('Метод доставки: Доставка курьером по Киеву').'</strong> '; 
         echo '<br><strong>'.__('Улица').':</strong> ' . get_post_meta( $order->id, '_shipping_address_1', true ); 
        echo '<br><strong>'.__('Дом').':</strong> ' . get_post_meta( $order->id, '_shipping_address_2', true );
        echo '<br><strong>'.__('Подъезд').':</strong> ' . get_post_meta( $order->id, '_shipping_city', true ) ;
        echo '<br><strong>'.__('Этаж').':</strong> ' . get_post_meta( $order->id, '_shipping_state', true ) ; 
        echo '<br><strong>'.__('Квартира').':</strong> ' . get_post_meta( $order->id, '_shipping_postcode', true ) ;
        echo '<br><strong>'.__('Время доставки').':</strong> ' . get_post_meta( $order->id, 'Время доставки', true ) ;
        echo '<br><strong>'.__('Комментарий покупателя').':</strong> ' .    ( $order->id, 'order_comments', true ) ;
        echo '</td>';
        echo '</tr>';
        echo '</table>';
                $mailer = WC()->mailer();

    remove_action( 'woocommerce_email_customer_details', array( $mailer, 'email_addresses' ), 20, 4 );

    }

添加下一行没有帮助:

echo '<br><strong>'.__('Order notes').':</strong> ' .   ( $order->id, '_order_comments', true ) ;

那么我做错了什么? 提前致谢

【问题讨论】:

  • 人们不会花时间试图弄清楚发生了什么。你得到了什么?确切的问题是什么?你期待什么?

标签: php wordpress woocommerce orders email-notifications


【解决方案1】:

如果您尝试获取订单客户备注,您应该需要使用以下WC_Order 方法:

echo '<br><strong>'.__('Order notes').':</strong> '.$order->get_customer_note();

另外,$order-&gt;id 已过时,在 WooCommerce 3+ 中被 $order-&gt;get_id() 取代。

当您获得$order 时,您可以在代码中使用WC_Order 对象的所有实例WC_Order methods

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 for "Flat Rate" Shipping Method
    if ( ! $order->has_shipping_method('flat_rate') ) return;

    // Test output
    echo '<table><tr>
        <td><br>
            <strong>'.__('Имя').':</strong> '.$order->get_billing_first_name().'<br>
            <strong>'.__('Фамилия').':</strong> '.$order->get_billing_last_name().'<br>
            <strong>'.__('Метод доставки: Доставка курьером по Киеву').'</strong> <br>
            <strong>'.__('Улица').':</strong> '.$order->get_shipping_address_1().'<br>
            <strong>'.__('Дом').':</strong> '.$order->get_shipping_address_2().'<br>
            <strong>'.__('Подъезд').':</strong> '.$order->get_shipping_city().'<br>
            <strong>'.__('Этаж').':</strong> '.$order->get_shipping_state().'<br>
            <strong>'.__('Квартира').':</strong> ' . $order->get_shipping_postcode().'<br>
            <strong>'.__('Время доставки').':</strong> ' . get_post_meta( $order->get_id(), 'Время доставки', true ).'<br>
            <strong>'.__('Комментарий покупателя').':</strong> ' . $order->get_customer_note().'
        </td>
    </tr></table>';

    $mailer = WC()->mailer();

    remove_action( 'woocommerce_email_customer_details', array( $mailer, 'email_addresses' ), 20, 4 );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2022-01-10
    • 2019-02-23
    相关资源
    最近更新 更多