【问题标题】:Add customer email in a new column to admin orders list on Woocommerce在 Woocommerce 上的管理订单列表中添加新列中的客户电子邮件
【发布时间】:2019-04-25 11:15:45
【问题描述】:

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

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

【问题讨论】:

    标签: php wordpress email woocommerce orders


    【解决方案1】:

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

    // 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 文件中。经过测试并且可以工作。

    【讨论】:

    • 电子邮件列显示但为空。关于如何使其在最新的 WooCommerce 上运行的任何想法?
    • @VanDerPrygel 抱歉,该代码在上一个 WooCommerce 版本 4.7.0(刚刚测试)上完美运行。
    • 这很奇怪,也许我正在做的网上商店有一些自定义代码。如果我发现问题,我会在这里发布。谢谢!
    • @VanDerPrygel 该代码在上一个 WooCommerce 版本上仍然可以完美运行。
    猜你喜欢
    • 2019-03-15
    • 2018-09-09
    • 2019-02-23
    • 1970-01-01
    • 2019-08-03
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多