在Woocommerce管理订单列表上的一列中显示用户简历

时间:2019-05-28 10:26:00

标签: php wordpress woocommerce hook-woocommerce orders

我们在用户编辑页面的他/她的生物文字区域中存储了一些客户信息。 如何在woocommerce的“订单管理”页面中的用户“生物”字段中以列的形式显示此存储的数据? 我尝试了这段代码,但没有用:

// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
    $reordered_columns = array();

    // Inserting columns to a specific location
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_status' ){
            // Inserting after "Status" column
            $reordered_columns['skb-client'] = __( 'Oudste Speler','theme_domain');
        }
    }
    return $reordered_columns;
}

// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    if ( 'skb-client' != $column ) return;

    global $the_order;

    // Get the customer Bio
    $user_bio = get_user_meta( $order->get_customer_id(), 'description', true );


        $user_data = get_userdata( $user_bio );
        echo $user_data->user_bio; // The WordPress user name

}

我们需要为每个客户购买时显示此存储的数据。 最好的问候

1 个答案:

答案 0 :(得分:1)

在第二个函数中未定义变量$order,因此您需要使用$the_order。那么我已经重新审视了您的代码...请尝试以下操作:

 // Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
    $reordered_columns = array();

    // Inserting columns to a specific location
    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_status' ){
            // Inserting after "Status" column
            $reordered_columns['user-bio'] = __( 'User bio', 'woocommerce');
        }
    }
    return $reordered_columns;
}

// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id ) {
    if ( 'user-bio' === $column ) {
        global $the_order;

        echo ( $user = $the_order->get_user() ) ? $user->description : 'n/c';
    }
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。