One-click wishlist hearts everywhere your customers browse: product tables, the quick-view popup, single product pages and shop archives. It works for guests with no account, keeps working behind full-page caching, and follows logged-in customers across devices. Ships with a ready-made wishlist page, an "Added to wishlist" toast, a live count badge and a My Account tab - and it integrates with the Demfilz Product Table plugin automatically.
v1.0.0 · WordPress 5.6+ · PHP 7.2+ · WooCommerce 5.0+ · free
Shoppers save products with one click wherever they see them: a heart column in every Demfilz Product Table, a wishlist button in the table's quick-view popup, a labelled heart next to add-to-cart on single product pages (still shown when a product is out of stock - exactly when "save for later" matters most), and a heart on every shop and archive card. Toggle a heart anywhere and every other heart for that product updates instantly - rows, popup, badges, even other browser tabs.
Every save shows a small "Added to wishlist" toast with a View wishlist link, so shoppers always know where their list lives. The count badge (a shortcode, or any element with the class dwlw-count) stays live on every page and links to the wishlist too.
The list lives in the shopper's browser, so guests are first-class citizens and fully page-cached sites keep working - saving and viewing the wishlist uses no nonces for guests, the classic cause of "it stopped working" on cached WooCommerce stores. Logged-in customers get the same list mirrored to their account, so it follows them from phone to laptop. The saved-items view adds simple in-stock products to the cart with one click, WooCommerce-native AJAX included.
The shopper surfaces and the settings that control them.





Passes the WordPress Coding Standards with zero errors and zero warnings, clean against the official Plugin Check, and covered by an automated test suite plus real-browser verification of every surface.
Guest actions use no nonces at all, so full-page caching can never break the wishlist. The one endpoint that writes to an account is nonce-gated and logged-in only.
Nothing is stored server-side for guests, logged-in customers store only product IDs on their own profile, and there is no tracking and no external service. Uninstall removes everything.
A "Wishlist" page holding the saved-items view is created for you automatically - add it to your menu so shoppers can find it.
WooCommerce > Wishlist has one toggle per surface: product tables, quick view, product pages, shop archives and the My Account tab. Everything is on by default.
Using the Demfilz Product Table plugin? Every table gets a heart column and the quick-view popup gets a wishlist button, automatically.
Shoppers save from anywhere, the toast points them at their list, and the saved-items page turns hearts into cart additions with one click.

Why a wishlist. Most shoppers are not ready to buy on the first visit. A one-click save turns "I'll come back later" into a list they actually come back to - especially for considered purchases like tiles, furniture and parts catalogues.
Free, and ready to install today.
Free · WordPress 5.6+ · PHP 7.2+ · on the official WordPress.org plugin directory
Get it on WordPress.orgUpload it under Plugins → Add New → Upload Plugin, activate, and add the new Wishlist page to your menu.
No. The wishlist is stored in the visitor's own browser, so guests can save products with one click and nobody is forced to register. Logged-in customers additionally get their list mirrored to their account, so it follows them across devices.
A ready-made Wishlist page is created when you activate the plugin - just add it to your menu. Every time a shopper hearts a product they see an "Added to wishlist" toast with a View wishlist link, the count badge links there too, and logged-in customers also get a Wishlist tab in WooCommerce My Account. You can place the saved-items list on any page with the [dwlw_wishlist] shortcode.
Yes - automatically. With both plugins active, every product table gets a Wishlist heart column and the quick-view popup gets a wishlist button, with nothing to configure. Prefer to place the column yourself? Switch off the automatic column and add the column key Wishlist:wishlist-heart to your table's columns.
Yes. Saving and viewing the wishlist uses no nonces for guests, so pages served from W3 Total Cache, WP Rocket, LiteSpeed, Cloudflare and friends keep working - no stale-nonce breakage. The list itself lives in the browser, never in the cached HTML.
Yes. Hearts on variation rows in a product table save the parent product, and the saved-items view sends shoppers to the product page to choose their options.
For guests, nothing on the server - the list of saved product IDs stays in the visitor's browser. For logged-in customers, the same list of product IDs is saved to their user profile so it can sync across devices. No personal data, no tracking, no external requests.
Yes - it is published on the official WordPress.org plugin directory: install it from your WordPress dashboard under Plugins → Add New by searching for "Demfilz Wishlist". A direct download is also available from this page.
Wishlists, product tables, quick view, custom checkout flows - this is the kind of thing we build. Tell us what your store needs and we'll come back with a plan and a fixed quote.