Need a great WooCommerce wishlist plugin?
How about a WooCommerce gift registry plugin?
WooCommerce Wishlist & Gift Registry Pro allows you to include wishlist or gift registry functionality into your WooCommerce site – and it works similar to Amazon.com’s lists.
Compare us to the alternatives and you’ll see that WooCommerce Wishlists & Gift Registry Pro has more features, more flexibility, and far better support. You’ve found the original and most powerful Wishlists & Gift Registry plugin for WooCommerce.
Logged in customers and guest users browsing your store can create wishlists and gift registries, and they can create as many as they need.
If you disable the guest feature in the plugin settings then when a shopper tries to add an item to a list they be shown a message asking them to login or register.
Your shoppers can create lists with whatever level of privacy they desire. Public wishlists are viewable by anyone and appear in search results if the search terms match the wishlist title. Shared wishlists do not show up in search, but are viewable by anyone that has the URL that links to the wishlist. Private wishlists are only viewable by the wishlist owner.
An “Add to List” button or link is always shown on individual product pages. You can also enable a setting to optionally display the “Add to List” button or link on your main shop pages, product category pages, and product tag pages.
The plugin adds a button or link (based your settings) to each single product page for simple, variable, and external products.
For simple and variable The shopper can select a quantity as usual, plus any variation attributes if the product is variable, and add the item to the list. All the shopper’s selections (quantity and variation attributes) are carried over into their list. So when someone else views the list they easily see which items the list owner wants, how many they want, and what varieties they want.
For external products, a shopper can add those items to their list. When someone views the list and clicks the button buy they are redirected to the external site.
Anyone that can view a list can buy an item for the list owner simply by viewing the wishlist and clicking an item to add it to their cart. When a shopper buys an item from a list their purchase is tracked so that the list owners can see that someone bought an item on the list. When admins are viewing an order in the admin area, any items in the order that were purchased from a list include the list owner’s billing and shipping information for easy reference.
And at checkout the shopper can opt to have write a message that will be automatically sent to the wishlist owner. The shopper can also select whether to ship list items to the list owner or themselves.
As a site administrator you have complete access to all lists created on your site, and you can manually add new lists for shoppers if you need to. Easy add or remove items from a list, adjust the item quantities desired, switch the list owner to another user, and view the list owner’s complete billing contact information.
When a shopper creates a new list they can choose to set the visibility to public, private, or shared. After a list has been created the logged in list owner can add or remove items, change the item quantities desired, and change the list visibility. And every list created by the shopper is listed on their My Account page for easy access.
If you enable commenting on your site then visitors viewing a wishlist can post comments on public and shared wishlists, logged in users can comment on their own private wishlists too.
This feature obeys your comment settings, so if comments are disable the no user can comment on wishlists.
And, every wishlist display a set of social sharing icons for Facebook, Twitter, Pinterest, and Email – with no additional plugins are required!
Choose whether to enable lists for all shoppers or only logged in customers. Configure the “add to list” label text ( for example: Add to Wishlist, Add to Registry, etc ), and select how to present the “Add” link ( button, plain text, or plain text with any 16 nice looking icons )
And wishlists have their own unique URLs and are displayed using a customizable template included with the plugin. The plugin also includes shortcodes to embed a wishlist anywhere on your site, to embed a custom wishlist search form wherever you need it.
Optionally use a shortcode to create a page on your site where shoppers create a list. Shioppers can pick a title, set a description, and list type.
Optionally use a shortcode to create a page on your site where shoppers can search for a list by a person’s name, email address, or list title.
Be sure to check the screenshots tab above!
Compatibility: WooCommerce 3.0 and newer
This plugin comes with great support via email and phone!
We keep all of our software up to date with the latest versions of WooCommerce and WordPress.
If you don't see any recent changes below it's because none have become necessary!
Version 4.2.2 - March 15, 2021
Replace deprecated woocommerce_get_page_id() function
Version 4.2.1 - March 1, 2021
Ensure post type taxonomy is translated for display
Ensure the "create_wishlist" shortcode does not show the form if guest list creation is disabled
Version 4.2 - February 10, 2021
Added missing languages file path and text domain declaration to plugin header
Version 4.1.8 - February 9, 2021
Use jQuery BlockUI to block the "add to list" user interface "submit" button when submitting the Ajax request to add an item to a list
Use jQuery BlockUI on the main shop pages to block the "add to list" button when submitting the Ajax request to get the popup modal content
Version 4.1.7 - September 3, 2020
Ensure quantity is carried into the add to list form when adding from the single product page
When adding an item to a new list from the shop page populate the new list into the dropdown menu afterward
Ensure that a list is not in the trash when checking to determine if an item is in the user's list
Version 4.1.6 - August 29, 2020
Ensure quantity is carried into the add to list form when adding from the shop page
Version 4.1.5 - August 28, 2020
Remove "show" class and "in" class when hiding modal, helps with themes using Bootstrap
Version 4.1.4 - August 12, 2020
Adjusted code to support "add to list" when using various WC shortcodes, for example .
Moved "add to list" button/link template code into a file of its own to allow overrides
Version 4.1.3 - May 27, 2020
Adjusted code to respect list versus button setting when displaying "add to list" on the shop pages
Version 4.1.2 - May 24, 2020
Adjusted data properties in the add_to_wishlist.php template and associated JS code that detects product ID
Version 4.1.1 - May 21, 2020
New Feature: Added a checkbox to checkout for the shopper to select whether to ship to buyer or list owner
Version 4.1 - May 20, 2020
Updated the single wishlist template to display prices with or without tax depending on the settings in WooCommerce
New Feature: Display "Add to List" buttons on your main shop pages, product category pages, and product tag pages
Version 4.0.32 - April 27, 2020
Show "add to list" link button after "Out of stock" indicator for simple products when the item is out of stock
In the single wishlist template check it product is out of stock/backordering status before showing quantity and add to cart buttons
Version 4.0.31 - April 9, 2020
Modified JS to more specifically look for a "form.cart" CSS selector and instead ".cart", helps avoid certain mini cart icons
Version 4.0.30 - March 11, 2020
Updated the "create list" HTML template to help with translation of list types and descriptions
Version 4.0.29 - February 10, 2020
When deleting a list from the My Account page, if it was the only list then reload the page after deleting
Added filter to adjust JS delay timeout used to postpone loading the list button and popup. Helpful on sites that have a lot of other JS loading on the page (swatch plugins, etc).
apply_filters( 'wishlist_variations_form_delay', 1500 );
Changed list "delete" link so that it's hooked via jQuery instead of element inline JS, helps on mobile.
Version 4.0.28 - January 28, 2020
Modified the "create wishlist" template to only show enabled list types
Modified list creation checking to not require a description
Modified admin list overview to show the product count for each list
Version 4.0.27 - December 8, 2019
Updated list template to use WC responsive table classes and related HTML
Updated list template's list type checking
Updated list template's sharing icons to display for everyone unless the list is private
Version 4.0.26 - December 5, 2019
Corrected the wishlist display template file to ensure that the form tag is always closed properly
Version 4.0.25 - December 4, 2019
Adjusted template code to avoid calling wp_print_notices() when using shortcodes and editing a page in the admin area
Added new setting to select where to place the "Add to List" button - above or below the Add to Cart form
Version 4.0.24 - November 24, 2019
Updated single list template file to better handle list setting adjustments
Updated single list template file to not show list owner share buttons when the list is private
Updated "add to list" modal processing to reset the form when it is closed by the user
Version 4.0.23 - November 6, 2019
Updated JS for variable products for better compatibility with swatch plugins
Version 4.0.22 - October 1, 2019
Added link to the associated order for purchased items when viewing a list in the admin area
Get buyer's name from the order if the order was via "guest checkout", shopper was no logged in to a user account
Return and display error message if WC won't add a list item to the cart from someone's list
No need to check a nonce when a shopper is adding an item from a list to the cart
Version 4.0.21 - September 3, 2019
Make the list URL link clickable in the "add to list" popup response messages.
Updated the plugin name to reflect the actual product name on the IgniteWoo.com site
When loading a list in the admin area, skip products that no longer exist
Version 4.0.20 - August 26, 2019
Ensure list terms can be translated
Allow selecting which list types to allow (Public, Private, Shared)
Version 4.0.19 - July 16, 2019
Corrected the call to is_a( $order, 'WC_Order' ) when testing a paid order
Version 4.0.18 - July 3, 2019
Ensure Ajax URL is set correctly before triggering WC to get refreshed fragments
Version 4.0.17 - June 18, 2019
Added support for lists that are set to be Password Protected by admins
Version 4.0.16 - May 20, 2019
When editing a list on the front end check variation ID assuming it might be unset, instead of "0"
When editing a list on the front end ensure that the title and list type can be modified even when the "Insert Post Content" setting is disabled
Ensure that the "create wishlist" page shows a message and link to login if a shopper is not logged and guest lists are disabled
Version 4.0.15 - May 3, 2019
Add notice "List created" when a list is created succesfully on the frontend
Add error notice when not providing required fields when creating a list on the frontend
When the "Create list" page is loaded show a notice if the user is not logged in and guest lists are disabled.
Version 4.0.14 - April 25, 2019
Modify Ajax call to return JSON for "Add to list" button and popup form, move the popup to the bottom of the HTML body for compatbility
CSS adjustments for the modal popup to avoid theme conflicts
Added new action hook "ignitewoo_wishlist_items_purchased" that triggers when processing an order that has list items in it.
Parameters passed into the hook are as follows:
$list_owner_user_id (might be false or admin's id if list is for a guest user)
$variation_id (value might be false)
Updated wishlist search to also search by user account email, user account first name/last name combo, billing first name/billing last name combo
Updated wishlist search to also search for shared lists, whereas previously it only search public lists
Version 4.0.13 - April 10, 2019
In an order and in relation to sending a notification to a list owner when an item from their list is purchased, send to the billing email address if set, otherwise it send to the user account email address. Also display the correct recipient email in the order details.
Version 4.0.12 - April 5, 2019
Added a call to remove_all_actions( 'pre_get_posts' ) before querying for a user's lists, this avoids interference from misbehaved plugins and themes
Trigger JS action "check_variations" when the page loads to ensure the "add to list" button is hidden or shown as necessary, helps with some types of themes
Remove parent variable products from the search results when the Ajax search is being done while editing a list in the admin area
Fixed typo related to populating the Billing Phone when assigning the user to the list in the admin area and using the Load Billing Address button
Added setting to select the action to take when a shopper adds an item from someone's list to the cart (stay on list page or redirect to cart)
Version 4.0.11 - January 24, 2019
Updated the single wishlist template file to avoid having SEO plugin interfere with updating a list
Corrected the "list type" detection, and don't update unless the type unless the list owner changed it
Version 4.0.10 - January 23, 2019
When a list owner is editing their list on the public site do not reset the list title to empty
Moved wp_reset_postdata() in the wishlist template file to ensure the post data gets reset before getting the list URL
Version 4.0.9 - January 21, 2019
Ensure the global $user_ID is set to zero if not set, this avoids a JS error
Ensure $wp_object_cache has been intialized because some sites have broken cache systems
Added CSS transition JS in the modal script file to avoid JS errors on a few rare sites
Version 4.0.8 - December 14, 2018
Change the namespace for the modal JS to avoid conflicts with Bootstrap
Adjusted the <table> HTML in the list template file to specify CSS id and class
Moved the billing address loader function used when editing a list in the admin area, now in the admin class file
Updated CSS to remove height the qty input in single-wishlist-product-3.php
Updated the single-wishlist-product-3.php template file to add classes to the qty input for wider theme support in styling, and also set min=1 value
Updated the output display code for the list of products when editing a list in the admin area
Updated the checkout_wishlist_receiver_form.php template to include list names
Remove item from shopper's wishlist session when an item is removed from the cart
Adjust template Ajax nonce to avoid interference with caching plugins
Version 4.0.7 - December 13, 2018
Update Bootstrap modal JS and CSS to v3.3.7
Added JS to close when clicking outside the modal
Added CSS for smaller mobile screens
Allow modal popup to scroll on mobile if the screen is too short
Version 4.0.6 - December 12, 2018
Modified additional code to bypass page cachers
Version 4.0.5 - December 11, 2018
Modified code to load the wishlist popup via Ajax to bypass page cachers
Added new setting to disable all frontend list creation - for sites that want to manually manage all lists in the admin area
Version 4.0.4 - December 4, 2018
Readjusted CSS for mobile support
Added code to ensure that clicking on the modal background overlay closes the modal
Removed "!important" from the wishlist button CSS margin
Version 4.0.3 - December 3, 2018
Adjusted modal CSS for better mobile support
Version 4.0.2 - November 30, 2018
Updated the HTML in the add-to-wishlist template file, corrects an issue where a variable parent product could formerly be added to a list by mistake
Version 4.0.1 - November 16, 2018
Tweaked list search query SQL
Adjusted the template used to display a single wishlist to add "shop_table cart" to the class names of the table
Removed list product image height from CSS, helps makes images scale in mobile more accurately
Added the ability for a list owner to edit a list's description and visibility after list creation - NOTE that custom templates for single list will need to be updated
Version 4.0 - November 14, 2018
Improved speed of adding items to lists by 200%!
Updated the wishlist search to be more thorough, and with a better results display
Move nearly all HTML into template files
Replaced ShareThis JS code with static HTML code for more reliable sharing of lists
Added new template file for the popup modal.
Added new list search form
Added new list creation form with support for custom fields
Added new setting that allows changing the list permalink slug (e.g. change from "wishlist" to "registry" if you want)
Added new list display columns when viewing lists in the admin area
Changed the WP admin menu name from "Wishlists" to "Lists", which more suitable when using the plugin as a registry
Version 3.1.21 - July 16, 2018
Ensure add to wishlist button/icon appears on product pages if the user is a guest that has not created a wishlist yet.
Do not save a variable parent product to the list in the admin area when editing a list manually, only variations of a variable product can be added and saved
Version 3.1.20 - July 9, 2018
Added two strings to the language translation that were missed in previous versions
Version 3.1.19 - June 28, 2018
Ensure that variation purchases are tracked correctly when multiple variations of the same product are purchased from a given wishlist
Ensure that the wishlist_session variation defaults to an array type of it's empty
Ensure that the list of wishlists that a product is in is passed through array_unique() (e.g. to remove possible duplicates)
Version 3.1.18 - June 12, 2018
Allow the wishlist's "post content" to appear on the frontend if an administrator writes post content when editing a wishlist in the admin area.
Version 3.1.17 - May 8, 2018
Adjust select box for use with SelectWoo in WooCommerce 3.x when editing a wishlist in the admin area
Ensure removal link to wishlist items is rehooked when new items are added to the list manually when editing a wishlist in the admin area
Version 3.1.16 - April 30, 2018
Add missing parethesis to balance the JS "confirm" statement
Version 3.1.15 - March 28, 2018
Check for empty object when processing "the_content" filter
Added new settings to allow the word "Wishlist" to be changed to anything, for example: Registry
Version 3.1.14 - Feburary 20, 2018
Added shortcode for the wishlist search form (in addition to pre-existing PHP code snippet)
Wishlist search now searches for matches based on first or last name of wishlist owner
Version 3.1.13 - Feburary 20, 2018
Fixed adding the error notice if a person checks the message box on the checkout page but doesn't write a message
Fixed the missing "X" icon in the popups, replaced with Dashicons since the WC font no longer has the correct icon
Version 3.1.12 - Feburary 15, 2018
Added missing class name to the single-wishlist-product.php file used in WC version prior to 3.x
Version 3.1.11 - October 25, 2017
Deleted the fancybox JS, it's no longer used since v3.1
Include prettyPhoto JS core code instead of relying on the version in WooCommerce
Ensure prettyPhoto is enqueued in case a theme or plugin tries to dequeue it
Version 3.1.10 - September 18, 2017
Modified ShareThis script link to //ws.sharethis.com/button/buttons.js due to invalide cert for //s.sharethis.com/button/buttons.js
Version 3.1.9 - August 18, 2017
Updated the wishlist display template for WooCommerce 3.x to allow non-logged in users to add items from the wishlist into the cart
Updated wishlist processing to handle guest orders (where the shopper is not logged in and does not create an account)
Version 3.1.8 - May 21, 2017
Updated the wishlist display template for WooCommerce 3.x to handle removing items from the list
Version 3.1.7 - May 16, 2017
Fixed backend wishlist editing to avoid losing an item when saving a wishlist in WooCommerce 3.x
Fixed order processing for orders that contain wishlist items
Tweaks single wishlist template for WooCommerce 3.x
Version 3.1.6 - May 2, 2017
Adjusted wishlist editing the admin area to use Select2 v4.x if using WooCommerce 3.x
Modified wishlist template for WooCommerce 3.x to allow the shopper to adjust quantity before adding an item to the cart
Version 3.1.5 - May 2, 2017
Ensure variation attributes are selected before allowing a product to be added to a wishlist
Version 3.1.4 - April 21, 2017
Updated single-wishlist-product3.php to avoid displaying attributes for simple products
Version 3.1.3 - April 6, 2017
WooCommerce 3.0 compatbility
Version 3.1.2 - July 6, 2016
Update global $post checking when deciding whether to enqueue scripts
Version 3.1.1 - February 9, 2016
Added JS to ensure new wishlist creation form appears if no wishlists exist for the user yet
Version 3.1 - February 5, 2016
Replaced FancyBox popup with prettyPhoto included with WooCommerce
Adjusted default CSS styling
Version 3.0.3 - September 14, 2015
Updated FancyBox script to support jQuery 1.9 and newer
Version 3.0.2 - July 16, 2015
Updated backend wishlist editor to ensure all products added manually are saved
Version 3.0.1 - July 9, 2015
Updated fancybox script to ensure $ variable is aliased to jQuery
Version 3.0 - April 22, 2015
Added wishlist/registry owner billing and shipping info to the order item meta display when viewing an order in the admin area
Added ability to manually create wishlists and gift registries for customers ( admin area feature )
Added ability to add or change the customer assigned to a wishlist / registry ( admin area feature )
Added ability to add new items to the wishlist / registry ( admin area feature )
Added ability to remove items from the wishlist / registry ( admin area feature )
Added ability to modify quantity when editing a wishlist / registry ( admin area feature )
Version 2.9.5 - April 4, 2015
Tweaked single wishlist template for variable product attribute info display
Version 2.9.4 - March 28, 2015
Updated CSS location detection
Disallow private wishlists if guest wishlists are allowed and the user is not logged in
Version 2.9.3 - March 18, 2015
Updated deprecated action & filter hooks
Updated session handler for WooCommerce 2.3
Updated wishlist template to use HTML5 "number" input field type instead "text"
Updated wishlist view in admin area to remove code that is no longer necessary
Version 2.9.2 - January 20, 2015
Updated the share buttons so that they are not HTTP/HTTPS protocol dependent
Version 2.9.1 - November 17, 2014
Suppress MySQL warning messages so that they don't appear in the PHP error logs.
Version 2.9 - September 22, 2014
WooCommerce 2.2 compatbility
Version 2.8.12 - April 8, 2014
Removed "wishlist" slug from the search form URL
Version 2.8.11 - April 6, 2014
Fixed Fancybox JS which sometimes breaks with "TypeError: content.get(...).style.removeAttribute is not a function"
Version 2.8.10 - March 5, 2014
Updated ajax url to support WordPress installed in a subdirectory
Version 2.8.9 - Feburary 27, 2014
Changed mailer code to use the WooCommerce mailer
Version 2.8.8 - Feburary 7, 2014
Tweaked HTML template to include missing <td> element when a guest is viewing a wishlist
Version 2.8.7 - January 21, 2014
WooCommerce 2.1 compatbility
Version 2.8.6 - November 22, 2013
Removed debug code
Version 2.8.5 - November 20, 2013
- Fixed QTY when inventory control is turned on for a product and the product has only one in stock. WooCommerce doesn't show the QTY selector on the product page. Made the plugin assume QTY of 1 for purposes of adding the item to the wishlist
Version 2.8.4 - November 21, 2012
- Removed a few lines of debug code
Version 2.8.3 - September 10, 2012
- Fixed adding variations to wishlist where sometimes different variations would not be added
- Fixed display of correct variation thumbnails
- Added on-demand removal of WP_Query hooks in WooCommerce that interfere with new queries
- Adjusted HTML label tag wrappers for the popup
Version 2.8.2 - July 9, 2013
- Fixed a few strings that had the wrong translatable localization strings
Version 2.8 - March 20, 2013
- Added ability to change existing wishlist type ( switch between public, private, shared )
- Add wishlist owner's full billing inforation to the wishlist view in the admin area
- Add quantities purchased to the wishlist view in the admin area
- Added notice for non-logged in user to login or register when attempting to add items to a wishlist
- Added feature to allow admin to use a button or a link for Add to Wishlist functionality
- Added ability for wishlist owner to adjust quantities when viewing one of their wishlists
- Added indicator to let shopper know if the item they're viewing is in one or more of their wishlists
Version 2.7.5 - March 6, 2013
- Updated to support WooCommerce 2.x
Version 2.7.4 - February 25, 2013
- Fixed twitter button problem for sharing
Version 2.7.3 - February 20, 2013
- Added "Add to cart" button on wishlist that appears when a wishlist owner is viewing their own wishlist - feature added by customer request.
Version 2.7.2 - February 20, 2013
- Fixed a big with adding multiple products to a wishlist, where one overwrites the other
- Fixed a bug where removing an item from a wishlist may in some cases appear to remove the wrong item when in reality the correct item was removed
Version 2.7.1 - February 20, 2013
- Added [my_wishlists] shortcode, by customer request
Version 2.7 - February 18, 2013
* ADDED SUPPORT FOR WOOCOMMERCE 2.0
- Added support for quantity desired
- Added support for quantity already purchased
- Better support for variations
- Removed description from wishlist template
- Updated wishlist template to support new "purchased" tracking
- Minor performance tuning in wishlist template
- Plugin is now fully translatable, including wishlist permalink slug
- Updated wishlist.css to clean up the UI
- When items are added to an existing a check is made to determine if that item
is already in the wishlist. If it is the quantity is updated, and if not, the product is added.
- If quantity of 2 or more is added to a wishlist then each person who purchases one of those
items for the wishlist owner is listed on the wishlist page when the wishlist owner views the page
unless the shopper indicated that they wish to remain anonymous, in which case their actual name is
replaced with "Anonymous"
- The shoppers first and last name are listed instead of user name when a wishlist owner views one
of their own wishlists after a shopper buys an item for the wishlist owner, unless the shopper indicated
that they wish to remain anonymous, in which case their actual name is replaced with "Anonymous"
Version 2.6.8 - February 3, 2012
Tweaked custom search form
Version 2.6.7 - January 30, 2012
Added better support for translations. See the README file or documentation.
Version 2.6.6 - January 4, 2012
Fixed updater product ID
Fixed issued with slugs and list type detection
Version 2.6.5 - January 4, 2012
Removed erroneouos HTML tags
Version 2.6.2 - January 4, 2012
Updated to support automatic updates
Version 2.6.1 - November 26, 2012
- Minor bug fix for variations
Version 2.6 - October 25, 2012
- Added Pinterest to wishlist share button set
- Changed image display in single wishlist template
- Updated wishlist.css file for table data positioning and image width/height
- Added image popup in single wishlist template
- Fixed problem where the "Buy for ..." link did not include the correct user
- Add functionality to support product variations
Version 2.5.2 - September 12, 2012
- Fixed jQuery issue with detecting null value
Version 2.5.1 - August 1, 2012
- Initial public release
Version 2.0 - February 5, 2012
- Launched on private sites
Version 1.0 - January 9, 2012
- Initial development