JVM WooCommerce Wishlist free WordPress plugin
Description
JVM WooCommerce Wishlist free WordPress plugin
A simple and lightweight wishlist for WooCommerce, with plenty of hooks for customization to fit your WooCommerce theme. Tested on WooCommerce 3.x but should work on any WooCommerce 4.x installation.
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 customisation see the hooks, javascript API and templates sections below.
Hooks
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’; });
Actions
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
Filters
jvm_add_to_wishlist_class
jvm_add_to_wishlist_icon_html
jvm_woocommerce_wishlist_product_ids
Functions
jvm_woocommerce_wishlist_get_count()
jvm_woocommerce_wishlist_get_wishlist_product_ids()
Templates
The default wishlist page can be overridden in your theme. From the plugin directory copy
templates/wishlist.php
to:
your-theme-directory/jvm-woocommerce-wishlist/wishlist.php
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) { console.log(e); // Do something like update some custom counter, show a message or whatever. });