JVM WooCommerce Wishlist


A simple and lightweight wishlist for WooCommerce, with plenty of hooks for customization to fit your WooCommerce theme. Tested on WooCommerce 3.1.2 but should work on any WooCommerce 3.x installation.

By default the plugin adds a a wishlist icon to the WooCommerce archive pages and the WooCommerce single product page. Instead of an icon you can also switch to a text based link to or add remove wishlist items.
The wishlist can be added to a page using the [jvm_woocommerce_add_to_wishlist] shortcode. For more advanced customisation see the hooks, javascript API and templates sections below.


For advanced users and developers a few WordPress actions and filters are supplied to modify the behaviour of the wishlist.

Example usage removing the button from the achive page:

remove_action( 'woocommerce_after_shop_loop_item', 'jvm_woocommerce_add_to_wishlist', 15 );

Example usage switching to text links instead of icons:

add_filter( 'jvm_add_to_wishlist_class', function($class) {
    return 'jvm_add_to_wishlist text';


Available actions:

  • jvm_woocommerce_wishlist_loaded
  • jvm_woocommerce_wishlist_before_wishlist
  • jvm_woocommerce_wishlist_after_wishlist
  • jvm_woocommerce_wishlist_before_wishlist_contents
  • jvm_woocommerce_wishlist_after_wishlist_contents
  • jvm_woocommerce_wishlist_before_add_to_wishlist
  • jvm_woocommerce_wishlist_after_add_to_wishlist


  • jvm_add_to_wishlist_class
  • jvm_woocommerce_wishlist_product_ids


  • jvm_woocommerce_wishlist_get_count()
  • jvm_woocommerce_wishlist_get_wishlist_product_ids()


The default wishlist page can be overridden in your theme. From the plugin directory copy




Modify what you need in the copy.

Javascript API

For further theme integration the javascript file in the plugin has a few custom events that are fired for wishlist user activity.

  • add.JVMWooCommerceWishlist
  • remove.JVMWooCommerceWishlist
  • beforeupdate.JVMWooCommerceWishlist
  • afterupdate.JVMWooCommerceWishlist

Example usage:

$(document).on("beforeupdate.JVMWooCommerceWishlist", function(e) {

  // Do something like update some custom counter, show a message or whatever.



The plugin assumes you’re already using WooCommerce. Without WooCommerce this plugin won’t do much.

  1. Install the plugin from the Plugins or upload the plugin folder to the /wp-content/plugins/ directory menu and then activate it.
  2. Go to the plugin setting screen to define a wishlist page.
  3. Go to the plugin settings page from the plugins screen and create your wishlist page.


June 4, 2020
I had a request/suggestion and the developer responded immediately, released an update too. Works pretty good 🙂
May 10, 2020
This plugin is nice and very easy to customize; I was actually gonna settle my site with it, but I've discovered that it doesn't let you log in users using the same device and the same browser, otherwise it copies the items from a user's wishlist to another's; it even replaces them. It's gonna be a huge problem for my users who share devices and browsers. It's the only negative thing about this plugin, but a big reason it didn't get a 5-star from me. I hope you can fix the issue with the cookies. I thought there was no possible way around this, but there is, I found it from another plugin.
August 2, 2019
Simple, easy to extend, wishlist plugin. I was fed up with the bloat of Yith and others--this does require some coding knowledge to get the exact functionality similar to other plugins, but once you do that it's so simple, clean, and just better!
February 22, 2018
Perfect lightweight wishlist. Not bloated like all the others. For an developer this is the perfect starting point to build upon. Do not use if you want bells and whistles. Pure minimalistic approach!
Read all 4 reviews

Contributors & Developers

“JVM WooCommerce Wishlist” is open source software. The following people have contributed to this plugin.


“JVM WooCommerce Wishlist” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “JVM WooCommerce Wishlist” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change log


Bug fix php error notice in ajax/www-ajax-functions.php


Added an optional $product _id parameter to the jvm_woocommerce_add_to_wishlist function for use of this function outside of the loop, for increased flexibility.


Bug fix. Whitespace in main plugin file. Please update.


Fixed a fatal error in update 1.2.9. Please upgrade if you are on 1.2.9.


Some slight changes to wishlist storage. The cookie is now always cleared on logout. Also newly added products when not logged in will be added after login.


Bug fix: When logged in last item on wishlist would need to be removed twice. Should be fixed now. Also no ajax requests will de done if a user is not logged in to reduce overhead.


Security fix. User ID passed to ajax calls must match the current user.


Another whitespace fix.


Fixed a whitespace issue in front end link.


Added a partially Japanese translation.


Added a grunt task for automated POT files.
Added and a Dutch translation and auto generated POT file.


Added a dontation button.


Added a Dutch translation.


Fixed a bug where the custom wishlist template would not load from the (child) theme.


Fixed a bug “No products on your wishlist yet.” shown with products in wishlist on other pages than the main wishlist page (plugin settings).


Initial release