Description
SkyNet Smart Favorites is a wishlist for WooCommerce that lets shoppers save products as favorites, organize them into multiple wishlists, and add to cart from the list—without full page reloads. It is built for WooCommerce stores that want a clean, lightweight alternative to heavy wishlist suites.
Use it to improve product discovery, reduce abandoned browsing, and give customers a simple save for later flow on the shop catalog, single product pages, and a dedicated wishlist page.
Why stores use this WooCommerce wishlist plugin
- Built for WooCommerce — Uses WooCommerce sessions, cart APIs, and product data (not a generic post-only list).
- Guest and logged-in shoppers — Visitors can save favorites immediately; lists are stored in the WooCommerce customer session for guests and logged-in customers.
- Merchant-friendly setup — Tabbed admin Settings and Tools, sensible defaults, and an auto-created wishlist page.
- Modern storefront — AJAX actions, optional toast notifications, Gutenberg block, and shortcodes for flexible placement.
- Marketplace-ready foundations — HPOS compatible, Cart/Checkout blocks declared, prepared SQL, and rate-limited AJAX.
Shopper experience (storefront)
Add to wishlist on shop and product pages
- Show a button or heart-style icon on the product loop (shop, categories, archives) and on the single product page.
- Choose position on loops and single products: before or after add to cart, or over the product image.
- AJAX add and remove on the shop catalog and product pages (no full page reload).
- Optional toast or tooltip feedback when a product is added or removed from favorites.
Multiple wishlists
- Let customers create named wishlists (not only a single default list).
- Control how new items are saved: always use the default list, use the last-used list, or ask which list each time (when multiple lists are enabled).
- Rename or delete lists from the wishlist page (except the default list).
Guest wishlist
- Guest wishlist data is stored in the WooCommerce customer session, so visitors can build a list before they register or log in.
- Logged-in customers use the same session-based storage in the free plugin, so favorites persist while the session remains active.
Wishlist page
- Display the full wishlist with the
[skynsmfa_wishlist]shortcode on any page (a Wishlist page is created on activation). - Table or grid layout (Settings) shows product image, name, price, an out-of-stock notice when needed, add to cart, and remove.
- Mobile-friendly wishlist cards on small screens (table layout stacks into clean product cards without overlapping labels).
- Manage multiple lists from one page; AJAX remove items and move products to the cart row by row.
Variable products
- Saves the correct variation ID when a variable product is added, so move to cart uses the right options. Items saved without a variation show Select options on the wishlist page.
Header favorites icon
- SkyNet Smart Favorites icon — Gutenberg block plus
[skynsmfa_wishlist_menu_icon]shortcode (enable under Settings). - Shows a live item counter badge that updates over AJAX when the wishlist changes.
- Customizable icon image, link target (wishlist page), and accessibility labels.
Shortcodes
[skynsmfa_wishlist]— Full wishlist page content (lists, products, actions).[skynsmfa_wishlist_icon]— Optional per-product add/remove control (enable under Settings); useproduct_id="123"off the product page, or omit on single product templates. Separate from automatic loop/single buttons.[skynsmfa_wishlist_menu_icon]— Header-style favorites link with counter.
Admin (SkyNet Smart Favorites menu)
Settings
- Enable or disable wishlist features globally.
- Toggle loop and single-product buttons; set position on catalog and product pages; set display mode (button text vs icon only).
- Enable the
[skynsmfa_wishlist_icon]shortcode and the header favorites icon (block and[skynsmfa_wishlist_menu_icon]) independently of loop/single buttons. - Configure multiple wishlists and add-to-list behavior (default list, last used, or ask which list with a popup).
- Choose wishlist page layout: Table (default) or Grid (product cards).
- Assign the wishlist page (must contain
[skynsmfa_wishlist]). - Choose notification style: toast, tooltip, or none.
- Adjust AJAX rate limiting to help protect against automated traffic.
Tools
- Recreate wishlist page — Restores the default page and shortcode if it was deleted.
Plugins screen
- Quick Settings link from the WordPress Plugins list.
Performance, data, and security
- Wishlist lists and items are stored in the WooCommerce customer session (not post meta).
- Custom database tables are installed on activation for the plugin data foundation; automatic upgrades run via
dbDeltawhen schema changes. - AJAX requests use WordPress nonces and configurable rate limits.
- Scripts and styles load where needed for wishlist UI and blocks.
WooCommerce compatibility
- HPOS (High-Performance Order Storage / custom order tables) compatibility declared.
- Cart and Checkout blocks compatibility declared for current WooCommerce versions.
- Works with standard
wc_get_product, session, and cart flows—no replacement of core WooCommerce templates.
Who is this plugin for?
- WooCommerce shops that need multiple wishlists and guest support out of the box.
- Stores that want a fast AJAX wishlist and a clear favorites page without overriding theme templates.
- Merchants using the block editor who want a header favorites icon next to cart patterns.
- Developers who prefer hooks, blocks, and shortcodes over editing WooCommerce template files.
Requirements
- WordPress 6.0 or higher
- WooCommerce 8.0 or higher (must be active)
- PHP 7.4 or higher
Support
After installation, use the plugin support forum for questions. Please include your WordPress version, WooCommerce version, PHP version, and steps to reproduce any issue.
License
This plugin is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 or later. See the plugin header for details.
Captures d’écrans

![Admin Tools — recreate the default wishlist page and [skynsmfa_wishlist] shortcode if it was removed.](https://ps.w.org/skynet-smart-favorites/assets/screenshot-2.png?rev=3562762)
[skynsmfa_wishlist] shortcode if it was removed.






Installation
- Install and activate WooCommerce on your site.
- Install SkyNet Smart Favorites from the WordPress plugin directory (or upload the plugin folder to
/wp-content/plugins/). - Activate the plugin on the Plugins screen.
- Open SkyNet Smart Favorites Settings and confirm Enable wishlist features is on.
- Review button placement for shop loop and single product pages.
- Visit the auto-created Wishlist page, or assign another page that contains
[skynsmfa_wishlist]. - Optional: enable Enable favorites menu icon in Settings, then add the SkyNet Smart Favorites icon block to your header template or use
[skynsmfa_wishlist_menu_icon]in a menu area.
FAQ
-
Is this a wishlist for WooCommerce plugin?
-
Yes. SkyNet Smart Favorites is a WooCommerce extension. It does not work without WooCommerce. All wishlist actions use WooCommerce products, the customer session, and the cart.
-
Does it support a guest wishlist?
-
Yes. Guest favorites are stored in the WooCommerce customer session so visitors can build a list before they create an account or log in.
-
Can customers create multiple wishlists?
-
Yes. Enable Allow multiple lists under SkyNet Smart Favorites Settings. Shoppers can create lists, rename them, and choose which list receives new products (depending on your add target setting).
-
Does it work with variable products?
-
Yes. The plugin stores the variation ID when applicable so adding to the cart from the wishlist uses the correct variation.
-
Can I use a grid layout on the wishlist page?
-
Yes. Under SkyNet Smart Favorites Settings Layout preset, choose Grid. Column count follows WooCommerce Settings Products Catalog Products per row.
-
Enable Show on product loop and Show on single product page in Settings. Pick display mode (button or icon) and position. No theme template edits are required.
-
How do I show the full wishlist page?
-
Use the page created on activation (shortcode
[skynsmfa_wishlist]) or place that shortcode on any page. Select the page under Settings Assigned page. -
How do I add a favorites icon in the header?
-
Enable Enable favorites menu icon under Settings. Then use the SkyNet Smart Favorites icon block in the site editor (search for “SkyNet” or “favorites”, or find it under WooCommerce blocks), or add the shortcode
[skynsmfa_wishlist_menu_icon]where your theme allows blocks or shortcodes in the header. -
Does add to wishlist use AJAX?
-
Yes. Shoppers can add and remove favorites via AJAX on the shop catalog, single product pages, and the wishlist page. Move to cart from the wishlist page is also AJAX. Requests use WordPress nonces and configurable rate limiting.
-
Is the plugin compatible with WooCommerce HPOS?
-
Yes. The plugin declares compatibility with High-Performance Order Storage (custom order tables).
-
Does it work with WooCommerce Cart and Checkout blocks?
-
Yes. Cart/Checkout blocks compatibility is declared for supported WooCommerce versions.
-
Where is wishlist data stored?
-
In the WooCommerce customer session for both guests and logged-in customers. The plugin also creates
skynsmfa_*database tables on activation for its data foundation; wishlist items are not stored in post meta. Wishlist data is not sent to external SaaS services by this plugin. -
Does the plugin override WooCommerce template files?
-
No. It uses hooks, shortcodes, blocks, and enqueued assets only.
-
What happens when I update the plugin?
-
The plugin compares the stored database version and runs dbDelta when needed so schema updates apply without re-activation.
Avis
Contributeurs/contributrices & développeurs/développeuses
« SkyNet Smart Favorites » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « SkyNet Smart Favorites » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
1.0.2
- Added: Tabbed admin hub — Settings and Tools (recreate the default wishlist page and
[skynsmfa_wishlist]shortcode). - Added: SkyNet Smart Favorites icon Gutenberg block and
[skynsmfa_wishlist_menu_icon]shortcode with a live AJAX favorites counter. - Added: Grid layout on the wishlist page in the free plugin (table layout remains the default).
- Added: Independent toggles to enable the per-product
[skynsmfa_wishlist_icon]shortcode and the header favorites icon separately from loop/single buttons. - Improved: Choose a list modal — clearer loading state and feedback while a product is added to a list.
- Improved: Mobile wishlist — table layout stacks into clean product cards on small screens (no overlapping PRICE/ACTION labels).
- Improved: Wishlist table and grid spacing, alignment, and list management on the storefront.
- Improved: Admin settings UX — selectable shortcodes in the settings screen and clearer storefront placement options (loop/single positions, icon-only mode).
- Improved: WordPress.org Plugin Check alignment — tested up to WordPress 7.0, translators comments, and readme/screenshot updates.
- Fixed: Mobile wishlist table labels overlapping on narrow viewports.
- Maintained: HPOS and Cart/Checkout blocks compatibility declarations.
1.0.1
- Added WooCommerce headers (WC requires at least, WC tested up to).
- Declared HPOS (custom_order_tables) and Cart/Checkout block compatibility via FeaturesUtil.
- Hardened uninstall.php with an ABSPATH guard.
- Refined class autoloader to use explicit paths (static-analysis file-inclusion hardening).
- Added stub languages/index.php to honor Domain Path usage.
1.0.0
- Initial release.
- Multiple wishlist support, guest session wishlists, shortcodes, move-to-cart from wishlist.
