# Payment Method Column in the Orders List

> Adds a column to the admin orders screen showing how each order was paid, such as card, PayPal or bank transfer, without opening the order.

- Type: PHP
- Runs: Admin only
- Category: [WooCommerce](https://wpide.com/library/category/woocommerce/)
- Requires: WooCommerce
- Tags: woocommerce, admin, orders, columns
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/woo-orders-payment-method-column/

## Code

```php
$wpide_pm_column = function ( $columns ) {
    $new = array();

    foreach ( $columns as $key => $label ) {
        $new[ $key ] = $label;

        if ( 'order_status' === $key ) {
            $new['wpide_payment'] = 'Payment';
        }
    }

    return isset( $new['wpide_payment'] ) ? $new : $new + array( 'wpide_payment' => 'Payment' );
};

$wpide_pm_render = function ( $column, $order ) {
    if ( 'wpide_payment' !== $column ) {
        return;
    }

    $order = $order instanceof WC_Order ? $order : wc_get_order( $order );

    echo $order ? esc_html( $order->get_payment_method_title() ? $order->get_payment_method_title() : '–' ) : '';
};

add_filter( 'manage_woocommerce_page_wc-orders_columns', $wpide_pm_column );
add_filter( 'manage_edit-shop_order_columns', $wpide_pm_column );
add_action( 'manage_woocommerce_page_wc-orders_custom_column', $wpide_pm_render, 10, 2 );
add_action( 'manage_shop_order_posts_custom_column', $wpide_pm_render, 10, 2 );
```

## Notes

Works with both the HPOS orders screen and the legacy posts screen.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Payment Method Column in the Orders List" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
