繁体   English   中英

将新列中的客户电子邮件添加到 Woocommerce 上的管理订单列表

[英]Add customer email in a new column to admin orders list on Woocommerce

我正在尝试找到一种方法,如何在 WooCommerce 订单视图的标题行中添加客户电子邮件。

关于如何实现这一目标的任何想法、提示或指示?

在此处输入图片说明

要将用户电子邮件添加为单独的列,您将使用以下内容:

// Add custom column after "Order number" column in admin orders list
add_filter('manage_edit-shop_order_columns', 'add_user_email_order_column', 10, 1 );
function add_user_email_order_column( $columns ) {
    $new_columns = array();

    foreach ($columns as $key => $column ){
        $new_columns[$key] = $column;
        // Insert the new column after 'order_number'
        if( $key === 'order_number'){
            $new_columns['customer_email'] = __("Email", "woocommerce");
        }
    }

    return $new_columns;
}

// Display data to custom column in admin orders list
add_action( 'manage_shop_order_posts_custom_column' , 'display_user_email_order_column', 10, 2 );
function display_user_email_order_column( $column, $post_id ) {
    global $the_order;

    if( $column  === 'customer_email' ) {

        if( $the_order->get_customer_id() ){
            $email = $the_order->get_billing_email(); // Billing email

            // Outpup the email
            echo '<a href="mailto:'.$email.'" class="user-view"><strong>'.$email.'</strong></a>';
        }
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。 测试和工作。

在此处输入图片说明

我相信我知道这里的问题......

对我来说,它只为在系统上创建/拥有帐户的客户显示。 对于以“访客”身份结帐的任何人,它不会显示帐单电子邮件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM