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

Php 将新列中的客户电子邮件添加到Woocommerce上的管理订单列表,php,wordpress,email,woocommerce,orders,Php,Wordpress,Email,Woocommerce,Orders,我试图找到一种方法,如何在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 ); f

我试图找到一种方法,如何在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>';
        }
    }
}
//在管理订单列表中的“订单号”列后添加自定义列
添加过滤器('manage\u edit-shop\u order\u columns','add\u user\u email\u order\u column',10,1);
函数添加\用户\电子邮件\订单\列($columns){
$new_columns=array();
foreach($key=>$column的列){
$new_columns[$key]=$column;
//在“订单号”后插入新列
如果($key==‘订单号’){
$new_columns['customer_email']=“email”,“woocommerce”);
}
}
返回$new_列;
}
//将数据显示到管理订单列表中的自定义列
添加操作('manage_shop_order_posts_custom_column','display_user_email_order_column',10,2);
函数显示\用户\电子邮件\订单\列($column,$post\u id){
全球美元订单;
如果($column==='customer\u email'){
如果($the_order->get_customer_id()){
$email=$the_order->get_billing_email();//计费电子邮件
//发送电子邮件
回声';
}
}
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作


电子邮件列显示,但为空。你知道如何让它在最新的WooCommerce上运行吗?@VanDerPrygel很抱歉,但是代码在最新的WooCommerce版本4.7.0(刚刚测试过)上运行得非常好。这很奇怪,也许我正在处理的网店上有一些自定义代码。如果我发现问题,我会把它贴在这里。谢谢@VanDerPrygel该代码在上一个WooCommerce版本上仍能完美运行。