Everything works out of the box - this guide walks through the two-minute install, the one page you should add to your menu, and the optional touches: the count badge, the product-table column key and the My Account tab.
Upload demfilz-wishlist.zip under Plugins → Add New → Upload Plugin, then activate it. WooCommerce must be installed and active. On activation the plugin creates a published Wishlist page containing the [dwlw_wishlist] shortcode and points every "View wishlist" link at it.
Go to Appearance → Menus and add the new Wishlist page. This is the one step worth doing straight away: shoppers who heart a product follow the "Added to wishlist" toast (or the count badge) to this page, and a menu link makes it discoverable any time. Want a different page? Any page holding [dwlw_wishlist] works - pick it at WooCommerce → Wishlist.
WooCommerce → Wishlist has one checkbox per surface. Everything is on by default:
| Setting | What it does |
|---|---|
| Product tables | Adds a Wishlist heart column to every Demfilz Product Table automatically. |
| Quick view popup | Shows a wishlist button in the product table's quick-view popup, above "View full details". |
| Product pages | Shows a labelled heart after the add-to-cart button - and still shows it on out-of-stock simple products, where the add-to-cart form never renders. |
| Shop and archives | Shows a heart on every shop, category and archive product card. |
| My Account tab | Adds a Wishlist tab to WooCommerce My Account for logged-in customers. |
| Wishlist page | The page "View wishlist" links and the count badge point at. Auto-created at activation. |
Nothing to configure: with the Demfilz Product Table plugin active, every [product_table] gets the heart column and the quick-view popup gets a wishlist button. Prefer to control the column position yourself? Untick "Product tables" and add the column key to your table's columns setting:
image,name,price,add-to-cart,Wishlist:wishlist-heart
Variation rows save the parent product, and the column plays nicely with lazy-load tables and cached pages.
Show a live count of saved items anywhere with the [dwlw_count] shortcode - it renders as a small badge linked to the wishlist page. Theme builders can instead give any element the CSS class dwlw-count and the number stays up to date on every page.
Open your shop in a private window (you do not need to log in - guests are the point). Heart a product in a table, on a product page and on the shop grid; watch every heart for that product fill together; follow the toast to the Wishlist page; remove one item and add another to the cart. Then log in and do it again - your list now follows your account.
Hearts do not appear in tables: confirm both plugins are active and the "Product tables" toggle is on. If the Demfilz Product Table plugin's own built-in wishlist is switched on, this plugin pauses its hearts to avoid showing two wishlists - turn the built-in one off in Product Table settings.
My Account → Wishlist shows 404: the plugin self-heals rewrite rules once per version, so a reload usually fixes it; otherwise save Settings → Permalinks once.
Changes not showing on a cached site: purge your page cache after activating or changing settings. The wishlist itself is cache-proof, but the buttons are part of the cached HTML.
We build and customise WooCommerce plugins for a living. If you need the wishlist to do something specific for your store, tell us what and we'll quote it.