{"id":355266,"date":"2026-08-25T10:43:49","date_gmt":"2026-08-25T10:43:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/neowish-wishlist\/"},"modified":"2026-10-14T05:18:45","modified_gmt":"2026-10-14T05:18:45","slug":"neowish-wishlist","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/neowish-wishlist\/","author":13929224,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.8","stable_tag":"1.0.8","tested":"7.1.3","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"NeoWish Wishlist","header_author":"MT Pamir","header_description":"A modern, cache-safe wishlist for WooCommerce. Guests keep their wishlist after login, you see your most-wishlisted products, and NeoGrow users see the points every saved product would earn.","assets_banners_color":"8455ab","last_updated":"2026-10-14 05:18:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/neowish-wishlist\/","header_author_uri":"https:\/\/profiles.wordpress.org\/mtpamir\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":483,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mtpamir","date":"2026-08-25 10:43:39","revision":3665123},"1.0.1":{"tag":"1.0.1","author":"mtpamir","date":"2026-09-01 07:42:43","revision":3675564},"1.0.2":{"tag":"1.0.2","author":"mtpamir","date":"2026-09-08 09:11:45","revision":3686264},"1.0.3":{"tag":"1.0.3","author":"mtpamir","date":"2026-10-07 16:41:20","revision":3733009},"1.0.4":{"tag":"1.0.4","author":"mtpamir","date":"2026-10-08 04:26:04","revision":3733654},"1.0.5":{"tag":"1.0.5","author":"mtpamir","date":"2026-10-10 05:15:16","revision":3737607},"1.0.6":{"tag":"1.0.6","author":"mtpamir","date":"2026-10-11 12:38:24","revision":3739486},"1.0.7":{"tag":"1.0.7","author":"mtpamir","date":"2026-10-12 08:21:08","revision":3740818},"1.0.8":{"tag":"1.0.8","author":"mtpamir","date":"2026-10-14 05:18:45","revision":3745366}},"upgrade_notice":{"1.0.8":"<p>A saved product now says so: the button reads &quot;Saved&quot; with a filled heart, and screen readers hear &quot;Saved, Remove from wishlist&quot; once instead of the state twice. No setting changes.<\/p>","1.0.7":"<p>The heart-only button style now shows its label on hover and keyboard focus and is easier to tap. The shortcode can set the style per button: [neowish_button style=&quot;icon&quot;].<\/p>","1.0.6":"<p>Bots and scripts can no longer fill your database with fake guest wishlists: crawlers are ignored and guest saves are rate-limited, with no IP stored. No setting changes.<\/p>","1.0.5":"<p>New Site Health check: Tools &gt; Site Health now tells you if a server cache or CDN is storing shoppers&#039; wishlists, and what to exclude. No setting changes.<\/p>","1.0.4":"<p>Wishlist hearts now show the right saved state on products loaded after the page opens, such as by filters, infinite scroll or sliders. No setting changes.<\/p>","1.0.3":"<p>The wishlist button now shows on product pages built with Elementor Pro and other page builders, and on out-of-stock products there. Tested with WooCommerce 11.1. No setting changes.<\/p>","1.0.2":"<p>The settings tabs can now be reached on a phone or a narrow window.<\/p>","1.0.1":"<p>Performance release: faster wishlist pages on long lists, automatic cleanup of long-expired guest lists, and fewer database reads on every page view.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3665123,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3665123,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3665123,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3665123,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3665123,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3665123,"resolution":"1","location":"assets","locale":"","width":1568,"height":745},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3665123,"resolution":"2","location":"assets","locale":"","width":1568,"height":745},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3665123,"resolution":"3","location":"assets","locale":"","width":1568,"height":745},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3665123,"resolution":"4","location":"assets","locale":"","width":1568,"height":745},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3665123,"resolution":"5","location":"assets","locale":"","width":1336,"height":852},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3665123,"resolution":"6","location":"assets","locale":"","width":959,"height":999},"screenshot-7.jpg":{"filename":"screenshot-7.jpg","revision":3665123,"resolution":"7","location":"assets","locale":"","width":959,"height":619}},"screenshots":{"1":"The wishlist page: saved products with the price, whether they are in stock, the date they were saved, and the reward points each one would earn when NeoGrow is active.","2":"The Add to Wishlist button on a product page, below the NeoGrow points message. Saved products switch the button to \"Remove from wishlist\".","3":"The heart button on the shop and archive pages. Each visitor's own saved items load after the page, so caching never shows the wrong hearts.","4":"Sharing: a shopper switches the list to \"Shared\" and sends it by copy link, WhatsApp, X, Facebook or email. Guests can share too.","5":"The NeoWish dashboard: how many wishlists you have, how many products are saved, and which products your customers save the most.","6":"Settings: where the Add to Wishlist button appears, how it looks, whether it shows on the shop page, and which page holds the wishlist.","7":"Guest settings: how long a guest keeps a saved list before the browser forgets it. Logging in moves the list into their account and keeps it for good."}},"plugin_section":[],"plugin_tags":[248113,73318,1666,277388,286],"plugin_category":[45],"plugin_contributors":[245346],"plugin_business_model":[],"class_list":["post-355266","plugin","type-plugin","status-publish","hentry","plugin_tags-guest-wishlist","plugin_tags-save-for-later","plugin_tags-wishlist","plugin_tags-wishlist-button","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mtpamir","plugin_committers-mtpamir"],"banners":{"banner":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/banner-772x250.png?rev=3665123","banner_2x":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/banner-1544x500.png?rev=3665123","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/icon.svg?rev=3665123","icon":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/icon.svg?rev=3665123","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-1.jpg?rev=3665123","caption":"The wishlist page: saved products with the price, whether they are in stock, the date they were saved, and the reward points each one would earn when NeoGrow is active."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-2.jpg?rev=3665123","caption":"The Add to Wishlist button on a product page, below the NeoGrow points message. Saved products switch the button to \"Remove from wishlist\"."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-3.jpg?rev=3665123","caption":"The heart button on the shop and archive pages. Each visitor's own saved items load after the page, so caching never shows the wrong hearts."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-4.jpg?rev=3665123","caption":"Sharing: a shopper switches the list to \"Shared\" and sends it by copy link, WhatsApp, X, Facebook or email. Guests can share too."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-5.jpg?rev=3665123","caption":"The NeoWish dashboard: how many wishlists you have, how many products are saved, and which products your customers save the most."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-6.jpg?rev=3665123","caption":"Settings: where the Add to Wishlist button appears, how it looks, whether it shows on the shop page, and which page holds the wishlist."},{"src":"https:\/\/ps.w.org\/neowish-wishlist\/assets\/screenshot-7.jpg?rev=3665123","caption":"Guest settings: how long a guest keeps a saved list before the browser forgets it. Logging in moves the list into their account and keeps it for good."}],"raw_content":"<!--section=description-->\n<p><strong>Most people who visit your shop are not ready to buy today.<\/strong><\/p>\n\n<p>They find something they like. They are busy, or waiting for payday, or still thinking about it. So they close the tab. And you never hear from them again.<\/p>\n\n<p>Some of them drop the item in the cart just to remember it. Your reports then call it an abandoned cart, and your reminder email goes to someone who was never trying to pay.<\/p>\n\n<p>NeoWish gives those shoppers a place to save what they like, and gives you a reason to bring them back.<\/p>\n\n<h4>Why this matters for your sales<\/h4>\n\n<p>Research by the Baymard Institute, based on 50 separate studies, found that about <strong>70% of carts are left behind<\/strong>. It also found that <strong>42% of those shoppers were only browsing or saving items for later<\/strong>.<\/p>\n\n<p>Those people did not say no. They were not finished.<\/p>\n\n<p>Right now that interest disappears when they close the tab. With a wishlist, it stays \u2014 as a list of products your customers told you they want.<\/p>\n\n<h4>What NeoWish does<\/h4>\n\n<ul>\n<li><strong>No sign-up needed.<\/strong> A visitor saves a product straight away. No account, no login. You do not lose them at the exact moment they liked something.<\/li>\n<li><strong>The list is still there after they log in.<\/strong> A guest saves items today. Later they create an account or sign in, and their list moves across on its own. Nothing is lost, and they never have to start again.<\/li>\n<li><strong>Works with caching plugins.<\/strong> The button looks the same for every visitor, and each person's saved items load after the page. A cached page can never show one shopper another shopper's hearts.<\/li>\n<li><strong>Put the button where you want.<\/strong> Choose where the heart appears on the product page. On the shop page, put it on the product photo or next to the product name. Show a heart with text, the heart alone or text alone; the heart alone still tells shoppers what it does on hover, and screen readers always hear its label. A shortcode lets you place it anywhere else.<\/li>\n<li><strong>It remembers the exact choice.<\/strong> If a product has sizes or colours, NeoWish saves the one the shopper picked.<\/li>\n<li><strong>Shoppers share their list for you.<\/strong> One tap sends the list by WhatsApp, X, Facebook or a copied link. Guests can share too. Their friends arrive at your shop already knowing what to buy.<\/li>\n<li><strong>See what people save most.<\/strong> A simple report shows which products people save, how many lists you have, and how many shoppers saved something in the last 30 days.<\/li>\n<li><strong>A wishlist page, ready to use.<\/strong> Created for you when you activate the plugin. Shoppers can add items to the cart from it, and you decide what happens next.<\/li>\n<li><strong>Match your shop.<\/strong> Set the colours and the corner rounding so the button and the wishlist page look like the rest of your site.<\/li>\n<\/ul>\n\n<h4>Turn saved items into decisions<\/h4>\n\n<p>A sale tells you something worked. A save tells you someone wanted it and stopped. That second one is the one you can still fix.<\/p>\n\n<p>Compare your saves with your sales:<\/p>\n\n<ul>\n<li><strong>Many saves, few sales.<\/strong> People want it but are not paying for it. Look at the price, try a bundle, or offer free shipping.<\/li>\n<li><strong>Many saves, many sales.<\/strong> This is your top seller, with a queue waiting behind it. Do not let it run out of stock.<\/li>\n<li><strong>Few saves, many sales.<\/strong> Nobody thinks twice about it. Show it near the checkout.<\/li>\n<li><strong>Few saves, few sales.<\/strong> Check the photos, the title and the description first. Shoppers may never be finding it.<\/li>\n<\/ul>\n\n<p>Without saved items, all four of those products look the same in your reports.<\/p>\n\n<p><em>Putting this to work before a sale, step by step: <a href=\"https:\/\/neoplugin.com\/blog\/woocommerce-wishlist-black-friday\">How to use WooCommerce wishlist data to pick your Black Friday discounts<\/a>.<\/em><\/p>\n\n<h4>Built for real shops<\/h4>\n\n<ul>\n<li>Works on its own. No other plugin from us is needed.<\/li>\n<li>Wishlists are kept in their own database tables, so a large shop stays fast.<\/li>\n<li>Old guest lists are cleaned up automatically, so your database does not fill up.<\/li>\n<li>Bots and scripts cannot fill your wishlist tables. Search engine crawlers are ignored, and saves are rate-limited per visitor, without storing anyone's IP address.<\/li>\n<li>The button lands in the right place on classic themes and on block themes.<\/li>\n<li>Works with a keyboard and with screen readers. Ready for right-to-left languages, and fully translatable.<\/li>\n<li>It never stores an IP address, a browser name, or anything that identifies a person.<\/li>\n<li>HPOS compatible.<\/li>\n<\/ul>\n\n<h4>Works great with NeoGrow<\/h4>\n\n<p>Install <a href=\"https:\/\/wordpress.org\/plugins\/neogrow-loyalty\/\">NeoGrow: Loyalty Points, Photo Reviews &amp; UGC<\/a> as well, and every product in the wishlist shows the reward points it would earn. That gives the shopper one more reason to move the list into the cart.<\/p>\n\n<p>NeoWish works perfectly on its own. This is a bonus when you run both.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress dashboard.<\/li>\n<li>Search for <strong>NeoWish<\/strong>, or upload the plugin files to <code>\/wp-content\/plugins\/neowish-wishlist<\/code>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Marketing &gt; NeoWish<\/strong> to choose where the button appears and how it looks.<\/li>\n<\/ol>\n\n<p>That is all. The wishlist page is created for you, and the heart button appears on your products straight away.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20is%20the%20neowish%20menu%3F\"><h3>Where is the NeoWish menu?<\/h3><\/dt>\n<dd><p>NeoWish lives under <strong>Marketing &gt; NeoWish<\/strong>, next to the other WooCommerce marketing tools. If the WooCommerce Marketing menu is switched off on your site, you will find it under <strong>WooCommerce &gt; NeoWish<\/strong> instead.<\/p><\/dd>\n<dt id=\"woocommerce%20has%20its%20own%20wishlist%20experiment.%20do%20i%20still%20need%20this%20plugin%3F\"><h3>WooCommerce has its own wishlist experiment. Do I still need this plugin?<\/h3><\/dt>\n<dd><p>Newer WooCommerce versions include an experimental wishlist feature that is switched off by default, is available to logged-in customers only, keeps one fixed list, and renders through block templates. NeoWish works for guests from the first click, keeps the list through login, works in classic themes as well as block themes, remembers the exact variation, and adds sharing and the Most Wishlisted report. Both can be installed on the same site without conflict, because they store their data separately.<\/p><\/dd>\n<dt id=\"do%20shoppers%20need%20an%20account%20to%20save%20something%3F\"><h3>Do shoppers need an account to save something?<\/h3><\/dt>\n<dd><p>No. Anyone can save products right away. Their list is kept safely in their browser. When they register or log in, it moves into their account by itself, and nothing is repeated twice.<\/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 button looks the same for every visitor, and each person's saved items are loaded after the page has loaded. So a cached page can never show the wrong hearts.<\/p>\n\n<p>There is one thing that must never be cached: the address those saved items come from, <code>\/wp-json\/neowish\/v1\/<\/code> (or <code>?rest_route=\/neowish\/v1\/<\/code> without pretty permalinks). NeoWish already tells caches not to store it, and the usual caching plugins respect that. Some server caches, CDN \"cache everything\" rules and \"cache the REST API\" options do not. To check your store, open <strong>Tools &gt; Site Health<\/strong> and look for <strong>Wishlist state and caching<\/strong>. It asks your site for a wishlist twice and tells you if an answer came from a cache, and where to look. If it reports a problem, add that address to your cache's exclusions. Keep your pages themselves cached.<\/p><\/dd>\n<dt id=\"can%20shoppers%20save%20a%20specific%20size%20or%20colour%3F\"><h3>Can shoppers save a specific size or colour?<\/h3><\/dt>\n<dd><p>Yes. When they save from a product page, NeoWish remembers the exact one they chose, and the wishlist shows it.<\/p><\/dd>\n<dt id=\"the%20button%20is%20in%20the%20wrong%20place%20on%20my%20theme.%20what%20can%20i%20do%3F\"><h3>The button is in the wrong place on my theme. What can I do?<\/h3><\/dt>\n<dd><p>On the shop page, set <strong>Button Placement<\/strong> to <strong>Over the product image<\/strong>. That option does not depend on your theme. On the product page, try one of the other positions. If none of them fit, set the position to <strong>Hidden<\/strong> and place the <code>[neowish_button]<\/code> shortcode wherever you like. Add <code>style=\"icon\"<\/code>, <code>style=\"text\"<\/code> or <code>style=\"icon_text\"<\/code> to choose the look of that one button.<\/p><\/dd>\n<dt id=\"why%20do%20the%20report%20numbers%20not%20change%20straight%20away%3F\"><h3>Why do the report numbers not change straight away?<\/h3><\/dt>\n<dd><p>They are saved for one hour so your dashboard stays fast. New activity is recorded immediately and appears at the next refresh.<\/p><\/dd>\n<dt id=\"does%20the%20wishlist%20show%20loyalty%20points%3F\"><h3>Does the wishlist show loyalty points?<\/h3><\/dt>\n<dd><p>Only if the NeoGrow plugin is active. Each saved product then shows the points it would earn when bought.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens if I delete the plugin?<\/h3><\/dt>\n<dd><p>Turning the plugin off keeps all your data, so you can switch it on again later. Deleting the plugin removes everything it created, including the wishlists. That cannot be undone.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Improvement: A saved product is easy to tell apart. The button now reads \"Saved\" next to the filled heart, in your brand colour, instead of \"Remove from wishlist\"; a text-only button turns your brand colour too. The heart-only tooltip says \"Saved\" as well.<\/li>\n<li>Accessibility: Screen readers announce a saved button as \"Saved, button, Remove from wishlist\" - what is true, then what a click does - instead of saying the state twice.<\/li>\n<li>Developer: New <code>neowish_button_labels<\/code> filter to change the button's three texts. Extension API 1.6.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Improvement: The \"Heart icon only\" button style now shows its label (\"Add to wishlist\" or \"Remove from wishlist\") as a tooltip when a shopper hovers over it or reaches it with the keyboard, so the heart is never a mystery. Screen readers announce it as before. The hearts on shop pages get the same tooltip.<\/li>\n<li>Improvement: Heart-only buttons have a larger tap area (at least 32 by 32 pixels), easier to hit on phones and above the 24-pixel accessibility minimum.<\/li>\n<li>New: The <code>[neowish_button]<\/code> shortcode takes a <code>style<\/code> attribute (<code>icon<\/code>, <code>text<\/code> or <code>icon_text<\/code>) to choose the look of one button without changing the setting.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>New: Protection against bots and scripts. Guests can save without an account, so anything that can send a request could create guest wishlists, and on some stores automated traffic creates thousands of them. NeoWish now refuses saves from search engine crawlers and command-line tools, and limits how fast one browser or one address can save, including how many new guest wishlists one address can start in an hour. Real shoppers never come near the limits, and logged-in customers are never limited.<\/li>\n<li>Privacy: The limits are counted without storing IP addresses. Each counter is keyed by a one-way scrambled value and disappears when its time window ends.<\/li>\n<li>Tweak: A shopper who does hit the limit sees \"You are saving very quickly. Please wait a moment and try again.\" instead of a general error.<\/li>\n<li>Developer: New <code>neowish_write_limits<\/code> and <code>neowish_is_bot_request<\/code> filters. Extension API 1.5.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>New: A Site Health check, \"Wishlist state and caching\", under Tools &gt; Site Health. Each shopper's saved products load from a separate address that must never be cached, and some server caches, CDN rules and \"cache the REST API\" options cache it anyway, which can show one shopper another's wishlist. The check asks your site for a wishlist twice and reports whether an answer came from a cache, whether something rewrote NeoWish's no-cache instruction, and exactly which address to exclude. It runs in the background, so Site Health opens as fast as before.<\/li>\n<li>Tweak: The caching question in the FAQ now explains what to exclude, and why your pages can stay cached.<\/li>\n<li>Developer: New <code>neowish_detected_page_caches<\/code> filter, for naming a host-specific cache in the check's advice. Extension API 1.4.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix: Products added to the page after it loads now show the right wishlist state. Shop filters, \"load more\" buttons, infinite scroll, quick views and product sliders insert new products without reloading, and their hearts stayed empty even for products the shopper had saved. They now update on their own, with no extra request to your server.<\/li>\n<li>Developer: New <code>neowish:refresh<\/code> JavaScript event. Dispatch it on <code>document<\/code> to repaint every wishlist button, or pass <code>{ detail: { refetch: true } }<\/code> to reload the shopper's wishlist from the server first. Extension API 1.3.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: The wishlist button now appears on product pages built with a page builder such as Elementor Pro's Theme Builder. With the button set to \"After the price\" it was missing on those pages, because they skip the part of the page WooCommerce normally provides; it now shows after the Add to Cart button there instead. Themes that already showed it are unchanged.<\/li>\n<li>Fix: Out-of-stock products on page-builder product pages get their wishlist button too. They have no Add to Cart button to sit beside, so the button appears before the product details, or at the end of the product.<\/li>\n<li>Fix: When WooCommerce's own experimental Wishlists feature is also switched on, My Account no longer shows two identical \"Wishlist\" links. NeoWish keeps its own and hides WooCommerce's menu link; nothing is deleted.<\/li>\n<li>Developer: New filters <code>neowish_button_fallback_hooks<\/code> and <code>neowish_hide_core_wishlist_menu_item<\/code>. Extension API 1.2.<\/li>\n<li>Tested with WordPress 7.1 and WooCommerce 11.1.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>The settings tabs can now be scrolled sideways on a phone or a narrow browser window, so the later tabs are reachable instead of running off the side of the screen.<\/li>\n<li>Opening a later tab on a small screen now scrolls that tab into view, so you can see which one you are on.<\/li>\n<li>Tighter spacing on the tabs and the settings below them on small screens, which leaves more room for the fields themselves.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Faster wishlist page: all saved products now load in one batch instead of one query each, which matters most on long lists.<\/li>\n<li>Guest wishlists whose browser cookie expired long ago are now cleaned up automatically, one month after the cookie's own lifetime has passed. Lists belonging to an account are never touched.<\/li>\n<li>The nightly analytics cleanup now works in small batches on an indexed column, so it stays light on busy stores.<\/li>\n<li>Removed a scheduler check that ran a database query on every single page view.<\/li>\n<li>The Most Wishlisted report cache now simply refreshes every hour instead of being cleared every time a product is saved.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Add to Wishlist button on the product page and the shop page, with position and placement settings and a shortcode.<\/li>\n<li>Guest wishlists with no account needed, and an automatic merge into the account on registration or login.<\/li>\n<li>Saves the exact variation a shopper chooses.<\/li>\n<li>Wishlist page created on activation, with add to cart, optional remove after adding, and optional go straight to checkout.<\/li>\n<li>Sharing by copy link, WhatsApp, X and Facebook, with a privacy switch for each list.<\/li>\n<li>A confirmation message when a product is saved.<\/li>\n<li>Most Wishlisted report in the dashboard.<\/li>\n<li>Colour and corner rounding settings.<\/li>\n<li>Shows the reward points each saved product would earn when NeoGrow is active.<\/li>\n<li>REST API, keyboard and screen reader support, right-to-left ready, and HPOS compatible.<\/li>\n<\/ul>","raw_excerpt":"Turn browsers into buyers. Shoppers save products without an account, keep the list after they log in, and you see what they want most.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/355266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=355266"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mtpamir"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=355266"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=355266"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=355266"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=355266"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=355266"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=355266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}