Adding Product Name on Admin Panel Order list and User’s My-Account Order List

Add this code to your functions.php this will add an extra column to the listing table with Product name. Like 1 x Netflix Premium. If multiple that will be visible too.

add_filter('manage_edit-shop_order_columns', '_order_items_column' );
function _order_items_column( $order_columns ) {
    $order_columns['order_products'] = "Product Name";
    return $order_columns;
}
 

add_action( 'manage_shop_order_posts_custom_column' , '_order_items_column_cnt' );
function _order_items_column_cnt( $colname ) {
    global $the_order; // the global order object
 
    if( $colname == 'order_products' ) {
 
        // get items from the order global object
        $order_items = $the_order->get_items();
 
        if ( !is_wp_error( $order_items ) ) {
            foreach( $order_items as $order_item ) {
 
                echo $order_item['quantity'] .' × <a href="' . admin_url('post.php?post=" . $order_item["product_id'] . '&action=edit' ) . '">'. $order_item['name'] .'</a><br />';
                // you can also use $order_item->variation_id parameter
                // by the way, $order_item['name'] will display variation name too
 
            }
        }
 
    }
 
}

Now normally the column will be added as last column. We have to rearrange the column order. Let’s modify _order_items_column function like bellow to make it move at the desired position.

function _order_items_column( $order_columns ) {

    $new_columns = array();
    foreach ( $order_columns as $key => $name ) {

        $new_columns[ $key ] = $name;

        // add ship-to after order status column
        if ( 'order_number' === $key ) {
            $new_columns['order_products'] = __( 'Product Name', 'textdomain' );
        }
    }

    return $new_columns;
}

Now it should appear right after Order ID.

To add this data in My Orders list use following code.

add_filter( 'woocommerce_my_account_my_orders_columns', 'additional_my_account_orders_column', 10, 1 );
function additional_my_account_orders_column( $columns ) {
    $new_columns = [];

    foreach ( $columns as $key => $name ) {
        $new_columns[ $key ] = $name;

        if ( 'order-number' === $key ) {
            $new_columns['order-items'] = __( 'Product Name', 'woocommerce' );
        }
    }
    return $new_columns;
}

add_action( 'woocommerce_my_account_my_orders_column_order-items', 'additional_my_account_orders_column_content', 10, 1 );
function additional_my_account_orders_column_content( $order ) {
    $details = array();

    foreach( $order->get_items() as $item )
        $details[] = $item->get_quantity() . '&nbsp;&times;&nbsp;' . $item->get_name();

    echo count( $details ) > 0 ? implode( '<br>', $details ) : '&ndash;';
}