在 woocommerce 电子邮件中添加自定义信息

Add custom info in woocommerce email

在我更新所有插件和 WP 之前,我在新订单 woo 电子邮件中显示了一些信息。喜欢:客户备注、电子邮件和 phone.

但更新后它们就消失了。我不知道这些信息是从哪里来的。我试图查看 woo 设置,但没有找到任何东西。

有人知道怎么把它们放回去吗?

举个例子,

 // Edit order items table template defaults
function sww_add_wc_order_email_images( $table, $order ) {

ob_start();

$template = $plain_text ? 'emails/plain/email-order-items.php' : 'emails/email-order-items.php';
wc_get_template( $template, array(
    'order'                 => $order,
    'items'                 => $order->get_items(),
    'show_download_links'   => $show_download_links,
    'show_sku'              => $show_sku,
    'show_purchase_note'    => $show_purchase_note,
    'show_image'            => true,
    'image_size'            => $image_size
) );

return ob_get_clean();
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_wc_order_email_images', 10, 2 );

更多详情,

Link 1, Link 2, Link 3, Link 4

希望对您有所帮助。

我终于找到了解决办法,把这段代码包含在function.php

function wc_customer_details( $fields, $sent_to_admin, $order ) {
    if ( empty( $fields ) ) {
        if ( $order->get_customer_note() ) {
            $fields['customer_note'] = array(
                'label' => __( 'Customer 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;
}
add_filter( 'woocommerce_email_customer_details_fields', 'wc_customer_details', 10, 3 );