Description
WDA Wishlist and Quick View for WooCommerce gives your store the two features shoppers expect everywhere — a WooCommerce wishlist and a product quick view — without stacking two separate plugins onto your site. Customers tap a heart to keep products for later, then open a fast quick view popup to compare details, pick a variation and add to cart, all without leaving the page they’re on. One plugin, one settings screen, one consistent design across every button, badge and popup.
WooCommerce Wishlist
The WooCommerce Wishlist welcomes guests from the very first click: no account needed, the list survives between visits, and it becomes part of the customer’s account automatically the moment they log in or register during checkout. Shoppers can share their wishlist on social networks or by link, send every saved item to the cart in one go, and keep an eye on their list through a live counter badge in the header or menu. You control where the add to wishlist button appears, how it looks and how it behaves — straight from the settings, no CSS required.
- Add to wishlist buttons on shop/category listings and single product pages
- Click again to remove — the button is a true toggle (optional)
- Works for guests (cookie-based) and logged-in users — guest wishlists are merged into the account automatically on login and on registration during checkout
- Dedicated wishlist page (created automatically) with product image, price, stock status, date added, pagination and add-to-cart actions
- “Add all to cart” button with clear feedback about skipped products
- Share your wishlist via Facebook, X (Twitter), WhatsApp, Pinterest, email, a copyable link or the device’s native share sheet
- Works with full page caching: button states, the counter and security tokens are refreshed live on page load
- Optional: require login, redirect after adding, auto-remove after add to cart
- Live wishlist counter shortcode for headers/menus
- Works without JavaScript too — buttons fall back to normal links
WooCommerce Quick View
A WooCommerce Quick View should feel instant, so this one starts loading the moment the cursor reaches the button. It handles simple, variable, grouped and external products — variation forms included, with the gallery swapping to the chosen variation’s image — and adding to cart from the popup updates the mini cart live. Underneath, the plugin stays out of your theme’s way: one small stylesheet, one script, a single database query per page of products, friendly to full-page caching, RTL-ready, accessible, and equally at home on classic and block themes.
- AJAX-powered quick view modal on product listings — no page reload, with hover prefetching for instant opens
- Previous/next arrows and keyboard navigation to browse the whole listing without leaving the modal — free, not paywalled
- Product gallery with thumbnail switching, sale badge, rating, price, stock status, short or full description, attributes, meta and add to cart
- Full support for simple, variable, grouped and external products — variation forms work inside the modal, including variation image switching
- Add to cart from the modal without leaving the page — updates the classic mini-cart and the Mini Cart block
- Optionally open the quick view by clicking the product image in listings
- Configurable modal content, button style/position, modal width and overlay
- Accessible: focus is trapped inside the dialog, restored on close, and all feedback is announced to screen readers
Wishlist and Quick View Free Version Features
- Wishlist for guests and members — anonymous cookie-based lists that merge into the account at login or checkout registration
- Automatic button placement — listings and product pages, three automatic placements each, plus a manual-only mode
- True toggle buttons — a second click removes the product again (optional)
- Auto-created wishlist page — a ready-made table with each product’s photo, current price, availability, save date and pagination
- Add all to cart — one click sends the entire list to the cart and tells the shopper plainly which items could not be added
- Wishlist sharing — Facebook, X (Twitter), WhatsApp, Pinterest, email and copy link, plus the phone’s built-in share dialog
- Live counter badge — a heart with a live item count for headers and menus
- AJAX quick view — opens with no page reload; hovering the button pre-loads the content so the popup appears instantly
- Browse inside the popup — step to neighboring products with on-screen arrows or the keyboard, never closing the window
- Every product type — simple, variable, grouped and external, with working variation forms in the popup
- In-popup add to cart — purchases land in the cart live, updating both the classic mini-cart widget and the Mini Cart block
- Image-click quick view — let the product photo itself launch the popup instead of the product page (optional)
- Configurable popup content — ten product elements you can switch on and off
- Design controls without CSS — accent color, three icon choices, corner radius, popup width and overlay opacity
- Gutenberg blocks and block themes — three blocks, plus automatic placement in Product Collection grids
- Full page cache compatible — even a page served from cache shows every visitor their own hearts, count and valid tokens
- Privacy and GDPR tools — personal data export/erasure integration, daily guest cleanup, optional full data removal
- Accessible and RTL-ready — focus trapping, screen-reader announcements, reduced-motion and RTL support
- No-JavaScript fallback — with scripts blocked or broken, every wishlist button still works as an ordinary link
- Lightweight by design — a two-file frontend footprint that skips unrelated pages and touches the database once per view
Wishlist and Quick View Premium Version Features
- Multiple named wishlists — create lists like “Birthday” or “Gift ideas”, switch between them, move items
- Print or save as PDF — a clean, print-optimized wishlist sheet with one click
- Wishlist analytics — overview tiles, most-wishlisted products, real order-based conversion rates and a customer wishlist browser
- Privacy levels and public search — private, link-only or public lists, plus a gift-registry-style search shortcode
- Mini wishlist panel — hovering the counter badge opens a dropdown on desktop; on phones it slides in as a side drawer
- Floating wishlist button — a fixed corner bubble on every page that opens the mini wishlist
- Back-in-stock alerts — emails customers as soon as a wishlisted product is available again
- Price-drop alerts — a daily scan emails customers when a saved product gets cheaper
- Wishlist reminder emails — win back customers whose lists sat untouched for a configurable number of days
- Guest email capture — guests can subscribe to stock and price alerts too, no account required
- Promo email campaigns — compose in the WordPress editor and email the shoppers who saved a chosen product, test send included
- Item quantities — save an amount per item; “Add all to cart” adds the stored quantities
- Wishlist total price — per-item subtotals and a grand total for the entire list
- Wishlist in My Account — a dedicated tab inside the WooCommerce account area
- Wishlist button on the cart page — add or move (save-for-later) items from every cart line
- Wishlist additions counter — shows how many wishlists contain each product, on the grid, product page and quick view
- Premium quick view gallery — sliding thumbnails, hover zoom, lightbox and three switching animations
- Variation galleries and product video — per-variation image sets and a click-to-load video slide
- Related products and Buy now — an in-popup product carousel with configurable source, plus a straight-to-checkout button
- Sortable popup elements and button styles — arrange the popup content in your preferred order, six button styles (five animated), and a choice of what happens after add to cart
Appearance
- Accent color, wishlist icon (heart, star or bookmark), corner radius, modal width and overlay opacity — no CSS required
- All plugin colors exposed as CSS custom properties for theme developers
- RTL-ready layout and
prefers-reduced-motionsupport
Block themes & blocks
- Three Gutenberg blocks: Add to Wishlist, Quick View Button and Wishlist Counter — drop them anywhere, including inside a Product Collection product template
- Automatic button placement works in Product Collection grids on block themes too (no shortcodes needed)
- The Mini Cart block updates when adding to the cart from the quick view
Privacy-ready
- Integrates with the WordPress personal data export and erasure tools
- Wishlist data is removed when a user account is deleted
- A daily cleanup removes expired guest wishlists automatically
- Optional complete data removal on uninstall
Shortcodes
[wda_wqv_wishlist]— the wishlist table (added automatically to the wishlist page)[wda_wqv_add_to_wishlist product_id=""]— a wishlist button anywhere[wda_wqv_wishlist_count]— heart icon with a live item counter, linking to the wishlist page[wda_wqv_quick_view_button product_id=""]— a quick view button anywhere
Developer friendly
- REST API under
wda-wqv/v1: read the wishlist and count, add and remove items - Templates can be overridden in
yourtheme/wda-wishlist-and-quick-view-for-woocommerce/, with action hooks inside the templates for surgical changes - JS events on
document.body:wda_wqv_added_to_wishlist,wda_wqv_removed_from_wishlist,wda_wqv_wishlist_btn_click(cancelable),wda_wqv_quick_view_opened,wda_wqv_bind_variation_images(cancelable),wda_wqv_added_to_cart— plus awindow.wdaWqvhelper API - HPOS (custom order tables) compatible; multisite-aware activation and uninstall
Care for the quiet details is built in. WooCommerce Wishlist data lives in its own database tables, guests are identified only by a random token, expired guest lists are swept up daily, and everything plugs into WordPress’ personal data export and erasure tools. If JavaScript fails, the WooCommerce wishlist buttons keep working as ordinary links; if your host caches aggressively, button states, the counter and security tokens re-sync on every load. And nothing ever leaves your site unless a visitor personally clicks a share button.
Developers get room to build: a REST API, overridable templates, documented PHP and JavaScript hooks, and three Gutenberg blocks that slot into Product Collection layouts on block themes. Stores of any size are safe too — product listings never pay a per-product query price for wishlist states, whether you sell forty products or forty thousand.
Install the plugin and within a minute your shop has a ready-made wishlist page, save-for-later hearts across the catalog and a quick view on every listing. Questions, ideas or a feature you’re missing? Open a thread in the support forum — every message gets read.
Have Questions, Ideas, or Suggestions? – SHARE THEM WITH US
External services
The plugin itself never sends automatic requests to any external service: it contains no tracking, no update pings and no remotely loaded assets. The only third-party endpoints it can direct a visitor to are the optional share buttons on the wishlist page, and each one is contacted exclusively when the visitor clicks that share button. Only the wishlist’s public share link (the wishlist page URL carrying a random share token) is passed to the service; the X (Twitter) and WhatsApp links additionally include a share text containing the site’s name. No personal data is transmitted, and disabling a network in the settings (or disabling sharing entirely) removes its button.
- Facebook — opens Facebook’s share dialog with the wishlist share link, so the visitor can post it. Service by Meta Platforms, Inc.: terms of service, privacy policy.
- X (Twitter) — opens X’s post composer pre-filled with the share text and the wishlist share link. Service by X Corp.: terms of service, privacy policy.
- WhatsApp — opens WhatsApp’s “click to chat” composer pre-filled with the share text and the wishlist share link. Service by WhatsApp LLC (Meta): terms of service, privacy policy.
- Pinterest — opens Pinterest’s pin-creation dialog with the wishlist share link. Service by Pinterest, Inc.: terms of service, privacy policy.
The remaining share options never contact a third party from the plugin: Email opens the visitor’s own mail client (mailto:), Copy link writes to the local clipboard, and the native share sheet hands the link to the visitor’s operating system.
Screenshots






Blocks
This plugin provides 3 blocks.
- Add to Wishlist
- Quick View Button
- Wishlist Counter
Installation
- Upload the plugin to
/wp-content/plugins/or install it via the Plugins screen. - Activate it. WooCommerce must be installed and active.
- A “Wishlist” page containing
[wda_wqv_wishlist]is created automatically. - Configure everything in the new “Wishlist & Quick View” admin menu.
FAQ
-
Do guests need an account to use the wishlist?
-
No. Guest wishlists are stored with a cookie and are merged into the user’s account when they log in or register — including when they create the account during checkout. You can also require login in the settings.
-
Does the wishlist work with caching plugins?
-
Yes. Button states, the wishlist counter and the security tokens are refreshed live on every page load with a single lightweight request, so cached pages always show the visitor’s real wishlist and never break after the cache outlives a nonce.
-
Does it work with block themes?
-
Yes. On classic themes the buttons use the standard WooCommerce hooks; in Product Collection grids on block themes they are injected automatically in the same positions. You can also place the Add to Wishlist, Quick View Button and Wishlist Counter blocks anywhere — including inside a Product Collection product template — or keep using the shortcodes.
-
What data does the plugin store, and is it GDPR-friendly?
-
Wishlists are stored in their own database tables. Guests are identified only by a random token in a cookie — no personal data. Wishlists of registered users are included in the WordPress personal data export and erasure tools, removed when the account is deleted, and expired guest wishlists are cleaned up daily. Optionally all plugin data is deleted on uninstall.
-
Will it slow my shop down?
-
The plugin ships one small CSS and one small JavaScript file, loads them only on pages that need them, and adds no query per product in listings — wishlist states are resolved with a single query per page.
-
Yes. Set the button position to “Do not show automatically” and use the
[wda_wqv_add_to_wishlist]/[wda_wqv_quick_view_button]shortcodes. -
Can I override the templates?
-
Yes. Copy
templates/wishlist.phportemplates/quick-view.phpinto awda-wishlist-and-quick-view-for-woocommercefolder inside your theme. -
How do I translate the plugin?
-
The plugin is fully translation-ready with the text domain
wda-wishlist-and-quick-view-for-woocommerce. Translations can be contributed on translate.wordpress.org once the plugin is listed. -
Can I use only the quick view, or only the wishlist?
-
Yes — each half has its own master switch, and the plugin loads no assets for a disabled feature.
-
Will the alert emails annoy my customers?
-
No. Each customer gets at most one email per product and alert type every 30 days, one email even when a product sits on several of their lists, and every message carries a one-click unsubscribe link that works without logging in. You can also exclude any product from all emails with one checkbox.
-
Yes — premium elements inherit the accent color, icon and corner radius you chose in the free settings, and all emails use your WooCommerce email template.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“WDA Wishlist and Quick View for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “WDA Wishlist and Quick View for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.3
- Escaping is now visible at every output: each echo of plugin-generated markup is wrapped in
wp_kses()/wp_kses_post()at the point of output. - The plugin no longer removes other plugins’ admin notices on its settings screens — notices now render above the settings header instead.
1.0.2
- Security hardening: markup returned through the plugin’s HTML filters (icons, wishlist/quick view buttons and the wishlist table’s add-to-cart link) is now sanitized with
wp_kses()against a documented allowlist before output, and the empty-wishlist suggestions filter only accepts a single shortcode. - The shortcodes now carry the full plugin prefix:
[wda_wqv_wishlist],[wda_wqv_add_to_wishlist],[wda_wqv_wishlist_count]and[wda_wqv_quick_view_button]. The auto-created wishlist page is updated automatically on upgrade. - Added the “External services” section documenting the share endpoints.
- Foreign admin notices on the plugin’s own settings screens are now removed selectively instead of via
remove_all_actions(). - Removed the
load_plugin_textdomain()call — WordPress loads translations automatically.
1.0.1
- Developer release: new actions, filters and JavaScript events so add-ons can extend the wishlist and quick view (wishlist CRUD helpers, item quantities in the API and REST payloads, quick view gallery filters, settings field extension points, public
window.wdaWqvJS API). No behavior changes. - Fix: the three blocks (Add to Wishlist, Quick View Button, Wishlist Counter) now render inside the standard block wrapper, so block themes’ constrained layouts position them correctly in the editor and on the page. A Shortcode block containing only one of the plugin’s shortcodes gets the same wrapper.
1.0.0
- Initial release: wishlist (guest + user, sharing, add all to cart) and AJAX quick view (variations support, in-modal add to cart).
