Skip to content

Product Favorites

Favorites let any logged-in member build a personal wishlist of WooCommerce products. It is a member (buyer) feature, not a vendor one, so it works on any WooCommerce store, with or without a marketplace.

A heart icon appears in two places for logged-in members:

  • On the single product page, after the add-to-cart button.
  • On shop/archive product cards, inside each card, revealed on hover. This can be turned off with the Show favorite icon on shop setting (wbpm_fav_icon_enable_shop).

Click the heart to add a product; click again to remove it. The icon reflects the current state (filled = favorited, outline = not). The action is AJAX, so the page does not reload. Adding is idempotent: a fast double-click stores the product once, never a duplicate entry in the list.

The icon colour is configurable with the Favorite icon colour setting (wbpm_fav_icon_color, a hex value, default #d7443e).

Open your own profile > Favorite Products. The tab lists every product you have favorited. Members are always shown their own list.

Favorites are owner-only by default. Only the profile owner sees their own Favorite Products list, and:

  • The site-wide toggle for the tab (wbpm_enable_favorite-products) must be on.
  • A member can hide their own Favorite Products tab (stored in user meta peepso_wbpm_enable_fav_pro_tab_display).

Sites that genuinely want public wishlists can widen visibility with the wbpm_favorite_products_can_view filter.

  • AJAX action: wbpm_mark_product_fav (logged-in users only; nonce-protected). There is no anonymous handler.
  • Each member’s favorites are stored in user meta wbpm_my_fav_products (an array of product IDs).
  • Each product also tracks who favorited it in post meta wbpm_fav_product_by_user (an array of user IDs).

Developers: see Hooks and filters.

2.0.0 replaces the separate peepso-wcfm-addon and peepso-wc-vendors add-ons. If you are upgrading from one of those, a one-time migration runs automatically on first load: it merges any legacy favorites, stored under the old meta keys pwcfm_favorite_products, pwcv_favorite_products and peepso_favorite_products, into this plugin’s wbpm_my_fav_products, de-duplicating so nothing is doubled.

The migration is idempotent: it is guarded by the wbpm_fav_migrated option and runs only once, so re-saving settings or re-activating the plugin will not re-import or duplicate anything. Members keep their existing favorites with no action required.