WC Quick Reorder
WooCommerce plugin that adds a customizable Reorder button to order history. One-click reorder with admin style controls, shortcode support, and developer hooks.
by Shariar AL-Amin Bijoy · github.com/bijoyshariar/wc-quick-reorder · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/bijoyshariar/wc-quick-reorder/archive/refs/heads/main.zipOne-click reorder for WooCommerce. Adds a reorder button to order history so customers can re-add past order items to their cart instantly.
Features
For Customers
- Reorder button on My Account orders list and single order view
- AJAX-powered, no page reload
- Toast notifications showing what was added and what was skipped
- Handles simple products, variable products, and quantity limits
For Store Admins
- 5 button style presets (Default, Outlined, Pill, Minimal, Custom CSS)
- Color pickers for background and text
- Cart icon toggle
- Button position control
- Merge or replace cart behavior
- Redirect to cart, checkout, or stay on page
- Confirmation dialog toggle
- Eligible order status selection
- Live preview in settings
For Developers
- Shortcode:
[wc_reorder_button order_id="123" style="pill" text="Order Again"] - Action hooks:
wcqr_before_reorder,wcqr_after_reorder,wcqr_reorder_item_added,wcqr_reorder_item_skipped - Filter hooks:
wcqr_reorder_button_html,wcqr_is_order_eligible,wcqr_reorder_cart_item_data - CSS classes on all elements for theme customization
Requirements
- WordPress 5.8+
- WooCommerce 6.0+
- PHP 7.4+
Installation
- Download or clone this repository into
wp-content/plugins/wc-quick-reorder/ - Activate the plugin through the WordPress Plugins screen
- Go to WooCommerce > Settings > Quick Reorder to configure
Usage
Admin Setup
Navigate to WooCommerce > Settings > Quick Reorder to customize the button appearance, behavior, and eligible order statuses. Changes preview in real-time on the settings page.
Customer Flow
Customers see the reorder button on their My Account > Orders page. Clicking it adds all items from that order to the cart via AJAX. A toast notification shows which items were added and which were skipped (out of stock, deleted, etc.).
Shortcode
[wc_reorder_button order_id="123"]
[wc_reorder_button order_id="123" style="pill" text="Order Again"]
Hooks Reference
| Hook | Type | Description |
|---|---|---|
wcqr_before_reorder |
Action | Fires before reorder processing. Params: $order |
wcqr_after_reorder |
Action | Fires after reorder processing. Params: $order, $added, $skipped |
wcqr_reorder_item_added |
Action | Fires when an item is added. Params: $item, $quantity, $order |
wcqr_reorder_item_skipped |
Action | Fires when an item is skipped. Params: $item, $reason, $order |
wcqr_reorder_button_html |
Filter | Modify button HTML. Params: $html, $order_id, $settings |
wcqr_is_order_eligible |
Filter | Override eligibility check. Params: $eligible, $order |
wcqr_reorder_cart_item_data |
Filter | Add custom cart item data. Params: $data, $item, $order |
License
GPLv3 - see LICENSE for details.