KDP Buy Again for WooCommerce helps customers quickly reorder products from previous purchases and return to products they recently viewed.
The plugin adds dedicated Buy Again and Recently Viewed sections to WooCommerce My Account, provides flexible shortcodes, validates current product availability and supports direct-checkout Buy Now actions.
Make Repeat Purchases Easier
Returning customers should not need to search through the entire catalogue to find products they have already purchased. Buy Again collects distinct products from the customer’s recent Processing and Completed orders and presents only products that are still published, purchasable and in stock.
Purchased variations remain distinct, so customers can identify and reorder the correct size, color or other variation using current product information.
Buy Again Features
- Add a dedicated My Account → Buy Again section
- Collect distinct products from previous WooCommerce orders
- Keep previously purchased variations and their attributes distinct
- Exclude deleted, unpublished, non-purchasable and out-of-stock products
- Display and use the current catalogue price
- Show the last-purchased date and purchase frequency
- Provide quantity, Add to Cart and direct-checkout Buy Now actions
- Display products in responsive grid or list layouts
- Sort by recent purchase, purchase frequency, product name or current price
- Use WooCommerce APIs for HPOS-safe order retrieval
- Cache customer purchase history and invalidate it after order changes
- Provide general and current-product shortcodes
Recently Viewed Products
Version 1.1 also includes cache-friendly Recently Viewed history for guests and logged-in customers.
- Add a dedicated My Account → Recently Viewed section
- Track guest history using a small first-party browser cookie containing product IDs
- Store signed-in customer history in user metadata for cross-device access
- Merge guest history into the customer account after login
- Load personalized results through an uncached AJAX request
- Work with full-page caching and CDNs without exposing another visitor’s history
- Allow customers to clear their recently viewed history
- Automatically display Recently Viewed products after tabs or related products
- Exclude unavailable and out-of-stock products
- Support Add to Cart and Buy Now for simple products
- Direct variable products to Select Options
Buy Again Shortcodes
Display a customer’s previous purchases:
[kdp_buy_again]
Customize the number of products and columns:
[kdp_buy_again limit="8" columns="4"]
Sort by purchase frequency and exclude the current product:
[kdp_buy_again limit="4" columns="4" orderby="frequency" exclude_current="yes"]
Display the most recently purchased available variation of the current product:
[kdp_current_product_buy_again]
Recently Viewed Shortcode
Display recently viewed products anywhere:
[kdp_recently_viewed]
Customize the layout:
[kdp_recently_viewed limit="8" columns="4" exclude_current="yes"]
Show a list with a Clear History control:
[kdp_recently_viewed layout="list" show_clear="yes" empty_behavior="message"]
Current Stock and Price Validation
The plugin does not blindly copy historical order data into the cart. It checks the current product or variation and uses its present publication status, purchasability, stock status, attributes and catalogue price.
This prevents unavailable products from being promoted and ensures WooCommerce performs its normal validation before a repeat purchase is added.
Privacy and Cache Compatibility
Buy Again is available only to logged-in customers and reads orders belonging to the current customer. Recently Viewed uses product IDs only and does not send browsing history to an external service.
Personalized sections can be rendered through uncached AJAX requests, making the plugin suitable for stores using full-page caching or a CDN.
Installation
- Download the plugin ZIP.
- Go to WordPress → Plugins → Add New → Upload Plugin.
- Upload the ZIP and activate KDP Buy Again for WooCommerce.
- Open WooCommerce → Settings → Products → Buy Again.
- Configure the Buy Again and Recently Viewed sections.
- Visit My Account → Buy Again and My Account → Recently Viewed.
If a My Account endpoint returns a 404 after activation, open Settings → Permalinks and click Save Changes once.
Requirements
- WordPress 6.2 or newer
- WooCommerce
- PHP 7.4 or newer
Frequently Asked Questions
Which orders are included?
The plugin scans the configured number of recent Processing and Completed orders belonging to the logged-in customer.
Are duplicate products displayed?
No. A simple product appears once. Each purchased variation appears once because its selected attributes may be different.
Are out-of-stock products displayed?
No. Deleted, unpublished, non-purchasable and out-of-stock products and variations are excluded.
Which product price is used?
The current WooCommerce catalogue price is displayed and used. The plugin does not reuse the historical price from the previous order.
Can customers remove their Recently Viewed history?
Yes. The My Account endpoint includes a Clear History button, and the shortcode supports show_clear="yes".
Free WooCommerce Plugin by KDP Infusion
KDP Buy Again for WooCommerce gives returning customers a practical route back to products they purchased or recently considered, helping WooCommerce stores improve convenience and repeat-order opportunities without using an external tracking service.