{"id":319959,"date":"2026-06-01T09:01:58","date_gmt":"2026-06-01T09:01:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/codefaeries-save-later\/"},"modified":"2026-07-03T13:16:17","modified_gmt":"2026-07-03T13:16:17","slug":"codefaeries-save-later","status":"publish","type":"plugin","link":"https:\/\/kmr.wordpress.org\/plugins\/codefaeries-save-later\/","author":15664861,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"CodeFaeries Save Later","header_author":"CodeFaeries","header_description":"WordPress wishlist plugin with save for later functionality","assets_banners_color":"e9f0eb","last_updated":"2026-07-03 13:16:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/codefaeries.com\/product\/save-later\/","header_author_uri":"https:\/\/codefaeries.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":110,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"lwsdevelopers","date":"2026-06-01 09:01:15"},"1.0.5":{"tag":"1.0.5","author":"lwsdevelopers","date":"2026-07-03 13:16:17"}},"upgrade_notice":{"1.0.5":"<p>Recommended update \u2014 fixes saving variable-product variations and restores the Remove \/ Add All to Cart buttons on the wishlist page.<\/p>","1.0.4":"<p>Adds disclosure of the social networks used by the share buttons and moves Custom CSS to Pro. Recommended update.<\/p>","1.0.3":"<p>Recommended update \u2014 minimum PHP lowered to 7.3 (runs on more hosts) and Plugin Check compliance.<\/p>","1.0.1":"<p>Recommended update \u2014 stability fixes at startup and a unique-index migration that prevents duplicate wishlist entries.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3556425,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3556425,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3556469,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3556469,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4","1.0.5"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Wishlist page with product grid layout","2":"Save for Later button on product pages","3":"Settings page - General tab","4":"Settings page - Data Management tab","5":"Price drop email notification"}},"plugin_section":[],"plugin_tags":[3464,201043,73318,1666,286],"plugin_category":[45],"plugin_contributors":[147161],"plugin_business_model":[],"class_list":["post-319959","plugin","type-plugin","status-publish","hentry","plugin_tags-favorites","plugin_tags-price-drop","plugin_tags-save-for-later","plugin_tags-wishlist","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-lwsdevelopers","plugin_committers-lwsdevelopers"],"banners":{"banner":"https:\/\/ps.w.org\/codefaeries-save-later\/assets\/banner-772x250.png?rev=3556469","banner_2x":"https:\/\/ps.w.org\/codefaeries-save-later\/assets\/banner-1544x500.png?rev=3556469","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codefaeries-save-later\/assets\/icon-128x128.png?rev=3556425","icon_2x":"https:\/\/ps.w.org\/codefaeries-save-later\/assets\/icon-256x256.png?rev=3556425","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>CodeFaeries Save Later is a WooCommerce wishlist plugin that allows customers to save products for later viewing. Built with performance and privacy in mind, it supports both simple and variable products, guest and logged-in users, and integrates cleanly with the WooCommerce My Account area.<\/p>\n\n<p><strong>Key Features (Free):<\/strong><\/p>\n\n<ul>\n<li>Save simple and variable products to a wishlist<\/li>\n<li>Full variation support (save specific attributes)<\/li>\n<li>Guest and logged-in user support<\/li>\n<li>Automatic guest-to-user migration on login<\/li>\n<li>Real-time AJAX-powered updates<\/li>\n<li>Basic social sharing (Facebook, X, Pinterest, WhatsApp, Email)<\/li>\n<li>Shortcode-based wishlist display<\/li>\n<li>WooCommerce My Account integration<\/li>\n<li>Draft mode for pre-launch configuration<\/li>\n<\/ul>\n\n<p><strong>Pro Features (available in CodeFaeries Save Later Pro):<\/strong><\/p>\n\n<ul>\n<li>Price drop email notifications<\/li>\n<li>Back-in-stock email alerts<\/li>\n<li>Advanced wishlist sharing with privacy controls<\/li>\n<li>CSV export of wishlist data<\/li>\n<li>Analytics dashboard<\/li>\n<li>Customizable email templates via WooCommerce settings<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin includes optional social share buttons on the wishlist (Facebook, X, Pinterest, WhatsApp). They are a convenience feature and are not required to use the plugin.<\/p>\n\n<p>The plugin itself does not contact these services from your server and does not send them any data on its own. When \u2014 and only when \u2014 a visitor clicks one of the share buttons, their own browser opens that network's standard share dialog in a new tab. The information passed is limited to the public URL of the shared wishlist and its title, included in the share link.<\/p>\n\n<p>Each service is operated by a third party under its own terms and privacy policy:<\/p>\n\n<ul>\n<li>Facebook \u2014 opens <code>facebook.com\/sharer<\/code> to share the wishlist link. Terms of service: https:\/\/www.facebook.com\/terms.php \u2014 Privacy policy: https:\/\/www.facebook.com\/privacy\/policy\/<\/li>\n<li>X (Twitter) \u2014 opens <code>twitter.com\/intent\/tweet<\/code> with the wishlist link and title. Terms of service: https:\/\/twitter.com\/en\/tos \u2014 Privacy policy: https:\/\/twitter.com\/en\/privacy<\/li>\n<li>Pinterest \u2014 opens <code>pinterest.com\/pin\/create<\/code> with the wishlist link and title. Terms of service: https:\/\/policy.pinterest.com\/en\/terms-of-service \u2014 Privacy policy: https:\/\/policy.pinterest.com\/en\/privacy-policy<\/li>\n<li>WhatsApp \u2014 opens <code>api.whatsapp.com\/send<\/code> with the wishlist link and title. Terms of service: https:\/\/www.whatsapp.com\/legal\/terms-of-service \u2014 Privacy policy: https:\/\/www.whatsapp.com\/legal\/privacy-policy<\/li>\n<\/ul>\n\n<p>The Email share option uses the visitor's own email client through a <code>mailto:<\/code> link and is not a third-party service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/codefaeries-save-later\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>A wishlist page is automatically created on activation. You can also configure settings under the Save Later menu in WordPress admin.<\/li>\n<li>Optionally customize the wishlist shortcode <code>[codefaeries_save_later_wishlist]<\/code> on your page<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20multiple%20wishlist%20count%20shortcodes%20on%20the%20same%20page%3F\"><h3>Can I use multiple wishlist count shortcodes on the same page?<\/h3><\/dt>\n<dd><p>Yes! All instances will update simultaneously when the wishlist changes.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The count is loaded dynamically via AJAX, so it works with full-page caching.<\/p><\/dd>\n<dt id=\"does%20it%20work%20for%20guest%20users%3F\"><h3>Does it work for guest users?<\/h3><\/dt>\n<dd><p>Yes! Guest wishlists are stored using browser sessions via cookies.<\/p><\/dd>\n<dt id=\"where%20does%20the%20wishlist%20link%20go%20by%20default%3F\"><h3>Where does the wishlist link go by default?<\/h3><\/dt>\n<dd><p>It links to the wishlist page configured in the Save Later settings menu.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5 - 2026-07-03<\/h4>\n\n<ul>\n<li>Fixed: saving a specific variation of a variable product (e.g. a chosen Color\/Size) now records that variation instead of the parent product.<\/li>\n<li>Fixed: the Remove and Add All to Cart buttons on the wishlist page now respond again.<\/li>\n<li>Fixed: saving one settings tab no longer resets values configured on other tabs, such as the selected wishlist page.<\/li>\n<\/ul>\n\n<h4>1.0.4 - 2026-06-19<\/h4>\n\n<ul>\n<li>New: added an \"External services\" disclosure describing the social networks used by the share buttons.<\/li>\n<li>Improved: the Custom CSS option has moved to CodeFaeries Save Later Pro.<\/li>\n<li>Fixed: invalid or private shared-wishlist links now return your theme's standard 404 page.<\/li>\n<li>Compatibility: refinements for WordPress.org Plugin Directory guidelines.<\/li>\n<\/ul>\n\n<h4>1.0.3 - 2026-05-11<\/h4>\n\n<ul>\n<li>Compatibility: minimum PHP requirement lowered to 7.3 \u2014 the plugin now runs on a wider range of hosts.<\/li>\n<li>Code quality: passes WordPress Plugin Check cleanly.<\/li>\n<li>Internal: release packaging refreshed.<\/li>\n<\/ul>\n\n<h4>1.0.1 - 2026-05-04<\/h4>\n\n<ul>\n<li>Fixed: stability fixes at plugin startup \u2014 internal services now initialize reliably alongside the shared toolkit.<\/li>\n<li>Improved: release packaging tightened.<\/li>\n<li>Improved: database migration adds a unique index to prevent duplicate wishlist entries.<\/li>\n<\/ul>\n\n<h4>1.0.0 - 2026-03-23<\/h4>\n\n<p>First public release. CodeFaeries Save Later is a guest-friendly WooCommerce wishlist with full variable-product support.<\/p>\n\n<ul>\n<li>Save simple and variable products \u2014 specific Color\/Size combinations are tracked as distinct entries, with graceful fallback when a variation is removed.<\/li>\n<li>Works for both guests and logged-in users; guest wishlists migrate automatically on login.<\/li>\n<li>\"Save for Later\" button on product and shop pages, with 13 placement positions (overlay, before\/after cart, after price, etc.) and theme-overridable template.<\/li>\n<li>Shortcodes: <code>[codefaeries_save_later_wishlist]<\/code> (full wishlist), <code>[codefaeries_save_later_button]<\/code> (per product), <code>[codefaeries_save_later_count]<\/code> (count badge).<\/li>\n<li>\"Wishlist Count\" widget with heart icon, live-updated across the page.<\/li>\n<li>Social sharing buttons (Facebook, X, Pinterest, WhatsApp, Email) and unique-token share links.<\/li>\n<li>Floating wishlist icon overlay on product images.<\/li>\n<li>Settings under WooCommerce \u2192 Settings \u2192 Save Later: button, display, guest, cleanup, shortcode, advanced.<\/li>\n<li>Stats dashboard included on the Settings page.<\/li>\n<li>Automatic daily cleanup of expired guest sessions (logged-in wishlists are always preserved).<\/li>\n<li>Translation-ready (POT included) with RTL stylesheet; WPML and Polylang compatible.<\/li>\n<li>Security-hardened: nonces, prepared statements, sanitization, escaping.<\/li>\n<\/ul>","raw_excerpt":"A lightweight WooCommerce wishlist plugin that lets customers save products for later, with full variation support and guest-to-user migration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319959"}],"author":[{"embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lwsdevelopers"}],"wp:attachment":[{"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319959"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319959"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319959"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319959"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319959"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kmr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}