# "Order Again" Button in the My Account Orders List

> Adds an "Order again" button next to completed orders in My Account, refilling the cart with the same products in one click.

- Type: PHP
- Runs: Run everywhere
- Category: [WooCommerce](https://wpide.com/library/category/woocommerce/)
- Requires: WooCommerce
- Tags: woocommerce, my-account, reorder, conversion
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/woo-account-order-again-button/

## Code

```php
add_filter( 'woocommerce_my_account_my_orders_actions', function ( $actions, $order ) {
    if ( $order->has_status( apply_filters( 'woocommerce_valid_order_statuses_for_order_again', array( 'completed' ) ) ) && count( $order->get_items() ) ) {
        $actions['wpide-order-again'] = array(
            'url'  => wp_nonce_url( add_query_arg( 'order_again', $order->get_id(), wc_get_cart_url() ), 'woocommerce-order_again' ),
            'name' => 'Order again',
        );
    }

    return $actions;
}, 10, 2 );
```

## Notes

Uses WooCommerce's built-in order-again feature, so stock and availability are checked as usual.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find ""Order Again" Button in the My Account 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/
