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).