How a reorder works
This walkthrough follows a customer from their order history to a refilled cart, and explains what Reorder does at each step.
1. Finding the button
Section titled “1. Finding the button”A logged-in customer opens My Account → Orders. Next to each past order whose status you have enabled (Completed by default) sits the reorder button with your chosen label, for example Order again. It lives in the normal WooCommerce order-actions area, so it does not shift the layout or add a separate widget. If you enabled the single-order view, the same button also appears on each order’s detail page.
2. One click re-adds the order
Section titled “2. One click re-adds the order”When the customer clicks it, Reorder reads that order’s line items and adds every still-purchasable one back into the cart in a single action — quantities and all. There is no clicking through individual product pages.
3. Unavailable items are handled gracefully
Section titled “3. Unavailable items are handled gracefully”Some products from an old order may no longer be buyable — deleted, hidden, or out of stock. Reorder skips those and adds everything else. The customer then sees a clear notice naming exactly which products could not be re-added, so nothing fails silently and the cart never breaks. They can decide whether to proceed with what was added or find an alternative.
4. Variations are preserved
Section titled “4. Variations are preserved”If the original order contained a specific variation — a medium black hoodie, say — Reorder re-adds that exact variation, not just the parent product. The customer does not have to re-pick size and colour.
5. Landing on the cart or checkout
Section titled “5. Landing on the cart or checkout”After the items are added, the customer is redirected per your redirect target setting — to the cart to review and adjust, or straight to checkout for the fastest repeat purchase.
The security model
Section titled “The security model”Reorder is built so a customer can only ever reorder their own orders:
- Nonce-protected. Every reorder link carries a nonce, so it cannot be forged or replayed from elsewhere.
- Ownership-checked. Before adding anything, the handler verifies that the current logged-in user actually owns the order. There is no IDOR — changing an order ID in the URL does not let anyone reorder someone else’s order.
- Owner-only button. The button is only ever rendered for the customer who owns the order.
These checks are always on and have no setting to disable them.
Performance and accessibility
Section titled “Performance and accessibility”The button is server-rendered into the standard order actions, so there is no jQuery dependency and no layout shift. The control is keyboard friendly with focus-visible styles, motion-safe, and the admin settings screen is dark-mode aware with inline help on every option.
A typical pattern
Section titled “A typical pattern”- A repeat customer opens their order history.
- They click Order again on last month’s order.
- The still-available items refill the cart; a notice flags the one product that has since sold out.
- They land on checkout and pay — a repeat purchase in a couple of taps.