WooCommerce Wishlists

WooCommerce Wishlists v2.4.0

No permission to download
WooCommerce Wishlists v2.4.0
2026.09.03 - version 2.4.0
* New: A new Add to Wishlist button. It shows whether the product is already saved - outlined icon when it is not, solid when it is - and keeps whatever wording you configured. Choose a heart, bookmark, star or gift icon, drawn in your theme's button colour. Screen readers hear "Saved" or "Saved to 3 lists"; the wording is a new "Saved State Text" setting.
* New: Saving stays on the page. The list picker opens as a dialog showing which of your lists already hold the product; tick to save, untick to remove, name a new list and save to it in one step. A confirmation appears with a link to the list.
* New: On a variable product the button and the picker follow the variation you have chosen, so two colours of the same product can be saved to one list and removed one at a time.
* New: "One-click first save" setting. When a shopper has no lists yet, the first save goes straight to a new list called "My List" instead of opening the picker. Off by default.
* New: The Add to Wishlist button appears in shop listings as well as on product pages, on classic and block themes. A new Product Listing Button section in the Wishlists settings switches it off, hides it on variable products, places it on the product image or above or below the add-to-cart button, and gives it its own text or none at all (icon only). 'woocommerce_wishlists_loop_position' and 'woocommerce_wishlists_render_in_loop' still override the settings, per product.
* New: The "Add to Wishlist" and "Wishlist" blocks can be styled in the editor - colour, spacing, typography and border - and pick up your theme.json. On block themes the listing button is a real block in your product template: see it in the Site Editor, move it, restyle it, or delete it.
* New: The list pages (View a List, Edit My List) are live. Change a quantity, remove an item, or add it to the cart without a page reload; Add to Cart shows a spinner while it works and a checkmark when it lands, with a confirmation linking to the cart. On block themes the Mini Cart count updates immediately. Everything still works with JavaScript off.
* New: Abandoned guest lists are cleaned up automatically. A temporary list older than 30 days with no item saved in 30 days is deleted, so bot-created lists stop piling up. Lists belonging to accounts are never touched. Change the lifetime with 'wc_wishlists_temporary_list_lifetime_days' (0 disables).
* New: A REST API, wc-wishlists/v1, for lists and items, with guest support and share keys. A price hidden by Catalog Visibility Options is hidden there too, and 'wc_wishlists_can_view_price' lets any plugin withhold one.
* New: The confirmation's position is configurable via the 'wc_wishlist_snackbar_position' option or 'woocommerce_wishlist_snackbar_position' filter (bottom-left by default; any corner or centre edge).
* New: 'woocommerce_wishlists_loop_template_priority' positions the listing button within its hook, and 'woocommerce_wishlist_icons' / 'woocommerce_wishlist_icon_svg' add your own icons.
* New: 'wc_wishlists_use_classic_add_to_cart' sends a list row to the cart through a page reload instead of the Store API. Off by default; used automatically for saved Gravity Forms entries on Gravity Forms Product Add-ons older than 3.8.4.
* Tweak: A saved item that still needs a choice - a variable product with no variation chosen, or add-on fields not filled in - offers "Choose options" linking to the product page instead of an Add to Cart that could not add it. An item saved with its options chosen keeps them and its Add to Cart.
* Tweak: The icon setting now applies to the button as well as the link. Stores that left it on "Present" will see a gift icon on the button; choose "None" to keep the button plain.
* Tweak: Loading a shopper's lists no longer slows down as a store accumulates wishlists. On a store with 27,500 lists the worst case went from 11.5 seconds to under 50 milliseconds.
* Tweak: The sort/filter row and bulk-action rows on the list pages wrap on narrow screens instead of overflowing, and the Privacy Settings and Email Notifications choices are proper fieldsets with the whole row clickable.
* Tweak: The List Items / Settings tabs on Edit My List are a real tab strip: arrow keys move between them, screen readers are told which is current, and with JavaScript off both panels show.
* Tweak: List quantity inputs are number inputs carrying the product's stock maximum, matching WooCommerce's own.
* Tweak: "Add All To Cart" reports its count in the singular or plural as appropriate (translators will see a new string).
* Tweak: Wishlist pages send no-cache headers so a shared list is never served stale by a page cache.
* Tweak: Stylesheets and scripts are versioned by file date, so browsers pick up the new files after an upgrade instead of serving ones cached from an earlier release.
* Tweak: Minimum WordPress version is now 6.8 and minimum WooCommerce 10.4.
* Fix: Gift-registry purchase tracking - the "previously ordered" column and the "Automatic Removal" setting - had not run on any 2.3.x release. Both now work: rows are removed once an order reaches the configured status, and the column populates.
* Fix: Creating an account while another shopper was signed in (single sign-on, membership or B2B flows that provision users; the wp/v2 users endpoint) reassigned that shopper's wishlists to the new account. Logins that establish the user before 'wp_login' fires now claim the guest's lists too.
* Fix: "Add All To Cart" on the View a List page always failed with "Action failed. Please refresh the page and retry."
* Fix: "Add All To Cart" adds exactly the items the list offers an Add to Cart for, tells the shopper which it skipped and why, no longer adds products with unfilled required add-on fields at base price, and reports the number it actually added.
* Fix: The quantity typed in the list grid is now the quantity added to the cart, and "Add All To Cart" on the Edit screen saves those quantities to the list as documented. The saved quantity was being used instead.
* Fix: The "Prompt for quantity when adding to cart" setting works again, still filterable per item via 'woocommerce_wishlist_use_add_to_cart_quantity_prompts'.
* Fix: Typing a quantity on a list you are only viewing no longer errors or sends a logged-out visitor to the login page.
* Fix: Adding an item to the cart from a list no longer carries the list's bookkeeping onto the cart line, which on a gift registry could split one item into two cart lines after another guest's checkout.
* Fix: List rows no longer offer Add to Cart for products that cannot be purchased, such as a product with no price.
* Fix: A product whose purchases Catalog Visibility Options has switched off could still be added to the cart through a list row's add-to-cart link, because that link never asked. Both add paths now refuse it with "Purchases are currently disabled", as the list itself already did by offering no button. Saving such a product to a list is unaffected.
* Fix: An external product's buy link is no longer hidden by the purchase filters or by Catalog Visibility Options - those govern this store's cart, and the link is the shopper's only route to the product.
* Fix: Purchase controls on both list screens now honour 'woocommerce_wishlist_purchases_enabled', both spellings of 'woocommerce_wishlist_user_can_purchase', and Catalog Visibility Options' per-product restrictions. Each screen previously honoured a different subset.
* Fix: On Edit My List, the second Actions dropdown below the grid did nothing without JavaScript, and pressing Apply Action with no action chosen reported "Invalid destination list".
* Fix: The List Items / Settings tabs on Edit My List rendered as two stacked rows in Storefront and themes derived from it.
* Fix: The "In Category:" label on View a List pointed at the Sort by dropdown.
* Fix: The Items box on a wishlist's wp-admin screen showed each product image at its full upload size. It asked for an image size WooCommerce no longer registers; it now uses the gallery thumbnail.
* Fix: The [wc_wishlists_add_link] shortcode linked to the retired add-to-wishlist URL, so clicking it reloaded the page and saved nothing. It now renders the same Add to Wishlist control as the product page, for the product it names, with 'title' as the button text.
* Fix: The 'woocommerce_wishlists_loop_template_location' filter could not be set from a theme's functions.php or a snippets plugin; it was read before the theme loaded.
* Fix: The "Add to Wishlist" block works inside a Product Collection or Product Template on a block theme, where it could render the wrong product's button or none at all.
* Fix: The ownership check on the Edit My List page compares a guest key against a user ID strictly rather than by loose equality.
* Remove: The legacy add-to-wishlist button, its templates (add-to-wishlist-link.php, add-to-wishlist-modal.php), the '?add-to-wishlist-itemid=' request handler, and the separate "This item is already in one of your wishlists" notice, which the button now conveys. A store with a customised copy of either template should move to the 'elementstark/add-to-wishlist-button' block, the [wc_wishlists_button] shortcode, or the 'woocommerce_wishlists_template_location' filter. The 'woocommerce_wishlist_already_in_list_text' filter no longer applies.
* Remove: Adding a grouped product to a wishlist as a group. Its children can still be saved from their own product pages.
* Remove: The unused wp/v2 wishlist REST routes.
* Dev: Theme CSS to update - '.wl-actions-table' is now '.wl-toolbar', '.wl-rad-table' is '.wl-fieldset', the picker is '.wl-add__dialog' (was '#wl-list-pop-wrap' / '.wl-list-pop') with '.wl-add__create-submit' and '.wl-add__close' controls in place of '.wl-add__confirm' / '.wl-add__cancel', and list row anchors no longer carry 'wishlist-add-to-cart-button' / 'wishlist-add-to-cart-button-view'. The confirmation's colours use the '--wl-snackbar-bg', '--wl-snackbar-color' and '--wl-snackbar-action-color' custom properties.
2026.08.29 - version 2.3.23
* Update: WordPress 6.5 is now the minimum supported version
WooCommerce Wishlists v2.3.23
* Update: WordPress 6.5 is now the minimum supported version
WooCommerce Wishlists v2.3.22
* Tweak - WordPress 7.1 Compatibility.
WooCommerce Wishlists v2.3.20
2026.08.12 - version 2.3.20
* Fix: On single-site WordPress, deactivating WooCommerce while Wishlists was active caused a fatal error on both the front end and wp-admin instead of the "requires WooCommerce" notice, locking the site out entirely. The load-order check added in 2.3.18 called wp_get_active_network_plugins(), which WordPress only defines on multisite. Affects 2.3.18 and 2.3.19.
* Refactor: The extension now initializes on the 'plugins_loaded' hook and checks for WooCommerce with class_exists(), replacing the custom active-plugins scan. Every active plugin has been loaded by that point, so the check is reliable regardless of plugin load order without inspecting WordPress internals. The 'Requires Plugins: woocommerce' header governs activation, but WordPress still loads the plugin when WooCommerce is deactivated by other means, so the runtime check remains.
* Fix: The view-a-list page answered 200 with an empty list body for any wlid value, which let crawlers enumerate list IDs indefinitely and leaked whether a given list existed. Requests for a list that does not exist, or that the visitor is not allowed to view, now return a real 404. Filterable via 'wc_wishlists_404_invalid_list'.
* Update: The wishlist pages now send noindex, nofollow via both an X-Robots-Tag header and the robots meta tag, so they are excluded from search indexes by default. Filterable via 'wc_wishlists_noindex_pages'.
* Add: WC_Wishlists_Pages::is_current_page() to test whether the current request is a wishlist page (is_wishlist_page() returns the configured page ID and is not a request-context check).
* Tweak: WC_Wishlists_Wishlist::get_wishlist() no longer writes to the object cache when a list ID does not resolve. The stored value could never be read back (wp_cache_get() cannot distinguish a cached false from a cache miss), so it cost a cache write per request without ever saving a query - noticeable when a crawler requests many invalid list IDs.
WooCommerce Wishlists v2.3.19
*** WooCommerce Wishlist Changelog ***
2026.07.09 - version 2.3.19
* Fix: Restored the $wishlists global used by the [wc_wishlists_button] shortcode; a 2.3.18 change stopped setting it, causing a fatal error (method call on null) wherever that shortcode rendered the wishlist button.
WooCommerce Wishlists v2.3.18
*** WooCommerce Wishlist Changelog ***
2026.06.29 - version 2.3.18
* Fix: Wishlists could silently fail to load when it initialized before WooCommerce in the plugin load order (the common case, since "woocommerce-wishlists" sorts before "woocommerce" alphabetically) - which removed the Wishlists settings tab and all functionality. Initialization now runs on the 'plugins_loaded' hook so the WooCommerce dependency check is reliable regardless of load order.
* Fix: Corrected the admin settings and wishlist singletons to store self::$instance, preventing duplicate initialization.
* Update: Tested up to WooCommerce 10.9.
WooCommerce Wishlists v2.3.17
Version 2.3.17Released on 2026.06.12
  • Removed an invalid WooCommerce feature compatibility declaration ('product_blocks') that was triggering memory exhaustion during HPOS configuration on WordPress 7.0 / WooCommerce 10.8. The plugin now only declares its valid HPOS ('custom_order_tables') compatibility.
    • Refactor: Replaced the legacy is_woocommerce_active() bootstrap shim with the standard 'Requires Plugins: woocommerce' header and a class_exists( 'WooCommerce' ) runtime guard.
WooCommerce Wishlists v2.3.15
  • Tested up to WordPress 6.9
  • Update: Tested up to WooCommerce 10.7
=
For activation, use this activator. Exclusively for Babiato.tech members.
https://babiato.tech/free-resources/woo-plugins-activator-activate-all-woo-products.42357/
WooCommerce Wishlists v2.3.14
Version 2.3.14Released on 2026.03.15
  • Tested up to WordPress 6.9.1
    • Update: Tested up to WooCommerce 10.6
    • WP and WC compatibility tags. PHPCS fixes
WooCommerce Wishlists v2.3.12
2025.12.07 - v2.3.12
* Fix: Fix WordPress 6.7 translation loading warning by loading textdomain on plugins_loaded hook instead of init hook.

About us

  • Babiato Forum - The webmaster community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day, updating Daily resource to make sure our community is one of the best.

Quick Navigation

User Menu