Add columns to admin orders list in WooCommerce Add columns to admin orders list in WooCommerce wordpress wordpress

Add columns to admin orders list in WooCommerce


Updated: 2018-03-30 - added positioning feature to the new columns

So you if you want to add some columns in the orders Admin list page (in backend):

ADDING COLUMNS IN WOOCOMMERCE ADMIN ORDERS LIST

In the example below, we add 2 new custom columns, before existing "Total" and "Actions" columns.

// ADDING 2 NEW COLUMNS WITH THEIR TITLES (keeping "Total" and "Actions" columns at the end)add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 20 );function custom_shop_order_column($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['my-column1'] = __( 'Title1','theme_domain');            $reordered_columns['my-column2'] = __( 'Title2','theme_domain');        }    }    return $reordered_columns;}// Adding custom fields meta data for each new column (example)add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );function custom_orders_list_column_content( $column, $post_id ){    switch ( $column )    {        case 'my-column1' :            // Get custom post meta data            $my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );            if(!empty($my_var_one))                echo $my_var_one;            // Testing (to be removed) - Empty value case            else                echo '<small>(<em>no value</em>)</small>';            break;        case 'my-column2' :            // Get custom post meta data            $my_var_two = get_post_meta( $post_id, '_the_meta_key2', true );            if(!empty($my_var_two))                echo $my_var_two;            // Testing (to be removed) - Empty value case            else                echo '<small>(<em>no value</em>)</small>';            break;    }}

Code goes in function.php file of your active child theme (or active theme). Tested and works.

enter image description here


Related answer (for products): Add custom columns to admin producs list in WooCommerce backend