Wishlist for WooCommerce


A simple and lightweight wishlist for WooCommerce, with plenty of hooks for customization to fit your WooCommerce theme.

By default, the plugin adds 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 customization 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 behavior of the wishlist.

Example usage removing the button from the archive 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_add_to_wishlist_icon_html
  • 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.



  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.


23 de octubre de 2021
It's a pity the plugin is no longer supported. I'd suggest to make 2 fixes (needed to support multilang). 1. Change get_bloginfo('name') to $_SERVER['HTTP_HOST'] File \wp-content\plugins\jvm-woocommerce-wishlist\inc\www-core-functions.php 23 return str_replace( '-', '_', sanitize_title_with_dashes( $_SERVER['HTTP_HOST'] ) ); //get_bloginfo('name') 2. Change get_the_title($product_id) to get_post_field( 'post_name', get_post($product_id) ) File \wp-content\plugins\jvm-woocommerce-wishlist\inc\frontend\www-functions.php 60 ?><a class="<?php echo esc_attr( $class ); ?>" href="?add_to_wishlist=<?php echo $product_id; ?>" title="<?php echo esc_attr( $text ); ?>" rel="nofollow" data-product-title="<?php echo esc_attr( get_post_field( 'post_name', get_post($product_id) ) ); ?>" data-product-id="<?php echo $product_id; ?>"> //get_the_title($product_id)
28 de octubre de 2020
How to add product wishlist page to 'add to cart' page. I don't find any add to cart button
12 de octubre de 2020 2 respuestas
Nothing to edit, exept the favorite-page.
29 de junio de 2020
I appreciate all the free plugins out there, but many times they're bloated with unwanted options. Having tried many other Wordpress wishlist plugins, this is exactly what I was looking for. Thank you!
25 de junio de 2020
After having tried several of the more popular Wishlist plugins, I found that they were all difficult to work with/customize, ran slow, and came with a lot of features I didn't need - while some simple features I did want would come in a premium package. This plugin however, is fast and allows for customization. If you're not shy to change up the code and style a little, you can easily get to the result you want, without the plugin breaking or acting weird. Support was also quick to get back to me and provided all I needed. Thank you for an amazingly smooth plugin and keep up the good work!
4 de junio de 2020
I had a request/suggestion and the developer responded immediately, released an update too. Works pretty good 🙂
Leer todas las 9 reseñas

Colaboradores y desarrolladores

Este software es de código abierto. Las siguientes personas han contribuido a este plugin.


"Wishlist for WooCommerce" ha sido traducido a 1 idioma local. Gracias a los traductores por sus contribuciones.

Traduce "Wishlist for WooCommerce" a tu idioma.

¿Interesado en el desarrollo?

Revisa el código, echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.3.6 – 23 Sep 22

Fixed: default WooCommerce style for wishlist page table
Compatibility with WooCommerce 7.1

1.3.5 – 23 Sep 22

Bug fix
Added: appsero insights
Compatibility with WooCommerce 6.9.3


Added a new filter for modifying the icon HTML: jvm_add_to_wishlist_icon_html


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