WooCommerce orders page add custom user column

I want to add a column to show the role of the customer in WooCommerce orders, search and everything I found for one user. I also found this code from this link ( WooCommerce custom column ) but I don't understand where I am posting what I need. I also found this code ( https://gist.github.com/corsonr/5975207 ) but I was unable to get the user's role. I added $user_role = $user->roles;

and

switch ($column)
    {
        case "user_role":
            echo $user_role;
        break;  

    }

      

but it didn't work, I know it is an array, but using [0] or [1] doesn't work.

Did I miss something? Can I do what I do?

+3


source to share


1 answer


Add to your theme the functions.php code below



add_filter('manage_edit-shop_order_columns', 'add_column_heading', 20, 1);

function add_column_heading($array) {


    $res = array_slice($array, 0, 2, true) +
            array("customer_role" => "Customer Role") +
            array_slice($array, 2, count($array) - 1, true);

    return $res;
}

add_action('manage_posts_custom_column', 'add_column_data', 20, 2);

function add_column_data($column_key, $order_id) {

    // exit early if this is not the column we want
    if ('customer_role' != $column_key) {
        return;
    }

    $customer = new WC_Order( $order_id );
    if($customer->user_id != ''){
            $user = new WP_User( $customer->user_id );
             if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
            foreach ( $user->roles as $role )
               echo $role;
        }
    }

}

      

+1


source







All Articles