{"id":358001,"date":"2026-09-03T20:09:49","date_gmt":"2026-09-03T20:09:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/plogins-shortlist-wishlist-for-woocommerce\/"},"modified":"2026-09-03T20:09:37","modified_gmt":"2026-09-03T20:09:37","slug":"plogins-shortlist","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plogins-shortlist\/","author":108511,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.8","stable_tag":"1.0.8","tested":"7.1","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Plogins Shortlist - Wishlist for WooCommerce","header_author":"WPPoland.com","header_description":"Lightweight, accessible WooCommerce wishlist - guest + customer lists, AJAX, My Account, shortcode, no jQuery","assets_banners_color":"a7a9ad","last_updated":"2026-09-03 20:09:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plogins.com\/plogins-shortlist\/","header_author_uri":"https:\/\/wppoland.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.8":{"tag":"1.0.8","author":"motylanogha","date":"2026-09-03 20:09:37","revision":3680329}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3680328,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3680328,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3680401,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3680401,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3680406,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Plogins Shortlist - Wishlist for WooCommerce, Live Preview\",\"author\":\"WPPoland\"},\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=shortlist-settings\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php';\\ndelete_transient('_wc_activation_redirect');\\nupdate_option('woocommerce_onboarding_profile', array('skipped'=>true, 'completed'=>true));\\nif (function_exists('wc_get_product_id_by_sku') && class_exists('WC_Product_Simple')) {\\n  $demo = array('Trailwind Running Shoes'=>89, 'Harbor Leather Wallet'=>39, 'Amber Soy Candle'=>18, 'Coastal Pullover Hoodie'=>49, 'Field Canvas Backpack'=>59, 'Matte Ceramic Mug'=>14);\\n  foreach ($demo as $name=>$price) {\\n    $sku = 'demo-'.sanitize_title($name);\\n    if (wc_get_product_id_by_sku($sku)) { continue; }\\n    $p = new WC_Product_Simple();\\n    $p->set_name($name); $p->set_sku($sku); $p->set_regular_price((string)$price);\\n    $p->set_status('publish'); $p->set_catalog_visibility('visible');\\n    $p->save();\\n  }\\n}\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"plogins-shortlist\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":{"shortlist\/wishlist":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"shortlist\/wishlist","title":"Shortlist Wishlist","category":"woocommerce","icon":"heart","description":"Show the current shopper's wishlist (the same list as the [shortlist] shortcode).","keywords":["wishlist","woocommerce","shortlist","save for later"],"textdomain":"plogins-shortlist","supports":{"html":false,"align":["wide","full"]},"editorScript":"file:.\/editor.js"}},"tagged_versions":["1.0.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3680328,"resolution":"1","location":"assets","locale":"","width":1600,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3680328,"resolution":"2","location":"assets","locale":"","width":1600,"height":1200},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3680328,"resolution":"3","location":"assets","locale":"","width":1600,"height":1200}},"screenshots":{"1":"The wishlist page showing saved products, each with add-to-cart and remove buttons.","2":"The same wishlist on a phone.","3":"The Shortlist settings screen."}},"plugin_section":[],"plugin_tags":[13720,151930,73318,1666,286],"plugin_category":[45],"plugin_contributors":[264912],"plugin_business_model":[],"class_list":["post-358001","plugin","type-plugin","status-publish","hentry","plugin_tags-favourites","plugin_tags-product-wishlist","plugin_tags-save-for-later","plugin_tags-wishlist","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-motylanogha","plugin_committers-motylanogha"],"banners":{"banner":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/banner-772x250.png?rev=3680401","banner_2x":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/banner-1544x500.png?rev=3680401","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/icon-128x128.png?rev=3680328","icon_2x":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/icon-256x256.png?rev=3680328","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/screenshot-1.png?rev=3680328","caption":"The wishlist page showing saved products, each with add-to-cart and remove buttons."},{"src":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/screenshot-2.png?rev=3680328","caption":"The same wishlist on a phone."},{"src":"https:\/\/ps.w.org\/plogins-shortlist\/assets\/screenshot-3.png?rev=3680328","caption":"The Shortlist settings screen."}],"raw_content":"<!--section=description-->\n<p>Shortlist adds an \"Add to wishlist\" button to your WooCommerce shop loop and product pages. Shoppers save products, favourites and save-for-later items, then come back from a \"Wishlist\" tab in My Account, a page of their own, or anywhere you drop the <code>[shortlist]<\/code> shortcode.<\/p>\n\n<p>Guests can save products before they log in. A guest list lives in a cookie; the next time that visitor signs in, their saved items move onto their account, so nothing is lost at the login step. Logged-in customers' lists are stored in a custom database table keyed to their user id.<\/p>\n\n<p>The plugin is written for stores that care about front-end weight and accessibility:<\/p>\n\n<ul>\n<li>The front-end script is vanilla JavaScript with no jQuery dependency. It is deferred and loaded in the footer.<\/li>\n<li>The toggle button reserves its space, so switching between the add and remove states does not reflow the page (no CLS).<\/li>\n<li>The toggle is a real <code>&lt;button&gt;<\/code> with <code>aria-pressed<\/code>. When a product appears more than once on a page, every button for it updates together after a save, and the change is announced to screen readers through a polite live region.<\/li>\n<li>Saving and removing happen over admin-ajax with no page reload.<\/li>\n<\/ul>\n\n<p>On variable products the button follows the selected variation, so a customer saves the exact size or colour they chose rather than the parent product. Until they pick options the button stays disabled, with a hint you can word yourself.<\/p>\n\n<p>The source lives on GitHub at <a href=\"https:\/\/github.com\/wppoland\/plogins-shortlist\">github.com\/wppoland\/plogins-shortlist<\/a>, that's the place for bug reports and patches.<\/p>\n\n<h4>Documentation and links<\/h4>\n\n<ul>\n<li><strong>Documentation<\/strong>: <a href=\"https:\/\/plogins.com\/plogins-shortlist\/docs\/\">plogins.com\/plogins-shortlist\/docs\/<\/a><\/li>\n<li><strong>Plugin page<\/strong>: <a href=\"https:\/\/plogins.com\/plogins-shortlist\/\">plogins.com\/plogins-shortlist\/<\/a><\/li>\n<li><strong>Source code<\/strong>: <a href=\"https:\/\/github.com\/wppoland\/plogins-shortlist\">github.com\/wppoland\/plogins-shortlist<\/a><\/li>\n<li><strong>Bug reports and feature requests<\/strong>: <a href=\"https:\/\/github.com\/wppoland\/plogins-shortlist\/issues\">github.com\/wppoland\/plogins-shortlist\/issues<\/a><\/li>\n<\/ul>\n\n<h4>Where the button and list can appear<\/h4>\n\n<ul>\n<li>The single product page, below the add-to-cart area.<\/li>\n<li>Product cards in the shop, category and tag loops.<\/li>\n<li>A \"Wishlist\" tab in WooCommerce My Account, optionally showing a saved-item count like \"Wishlist (3)\".<\/li>\n<li>A dedicated page you pick or create from the settings screen.<\/li>\n<li>Any post or page, via the <code>[shortlist]<\/code> shortcode.<\/li>\n<li>The block editor, via the <strong>Shortlist Wishlist<\/strong> block (server-rendered, so the editor preview matches the front end).<\/li>\n<li>The Elementor editor, via the <strong>Wishlist<\/strong> widget (same list as the shortcode; loads only when Elementor is active).<\/li>\n<\/ul>\n\n<p>Each placement is a separate switch on the settings screen.<\/p>\n\n<h4>Settings<\/h4>\n\n<p>The Shortlist menu in wp-admin opens to shop managers (it uses the <code>manage_woocommerce<\/code> capability), not only administrators. From there you can:<\/p>\n\n<ul>\n<li>Turn the wishlist on or off, and decide whether guests may use it.<\/li>\n<li>Choose where the button shows up: single product, shop loop, My Account, and a dedicated page.<\/li>\n<li>Show or hide the saved-item count on the My Account menu.<\/li>\n<li>Set the add and remove button labels, and the variation hint.<\/li>\n<li>Shape the list itself: heading, intro and empty-list text, how many columns the grid uses, and which details (image, name, price, add-to-cart, remove button) each saved product shows.<\/li>\n<\/ul>\n\n<p>Every setting has a \"?\" next to it that opens a short explanation of what it does.<\/p>\n\n<p>Shortlist only loads its stylesheet and script on the pages where the wishlist actually appears, so the rest of your store stays untouched.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>Shortlist does not connect to any external service. Saving and removing items happens over your own site's admin-ajax endpoint, and all wishlist data stays in your WordPress database: logged-in customers' lists live in a custom <code>shortlist_items<\/code> table keyed to their user id, guest lists live in a cookie on the visitor's own browser until they log in, and settings are stored in the <code>shortlist_settings<\/code> option. The plugin sends no email and loads no third-party fonts, scripts or trackers.<\/p>\n\n<h3>Translations<\/h3>\n\n<p>Plogins Shortlist is fully translatable and ships the <code>plogins-shortlist.pot<\/code> template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/shortlist<\/code>, or install via Plugins \u2192 Add New.<\/li>\n<li>Activate it. WooCommerce must be active.<\/li>\n<li>Visit the <strong>Shortlist<\/strong> menu in wp-admin to configure placement and labels.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20require%20woocommerce%3F\"><h3>Does it require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Shortlist requires an active WooCommerce installation.<\/p><\/dd>\n<dt id=\"can%20guests%20use%20the%20wishlist%3F\"><h3>Can guests use the wishlist?<\/h3><\/dt>\n<dd><p>Yes, if you allow it in settings. A guest's list lives in a cookie and is merged into their account the next time they log in.<\/p><\/dd>\n<dt id=\"does%20it%20use%20jquery%3F\"><h3>Does it use jQuery?<\/h3><\/dt>\n<dd><p>No. The plugin's own front-end script is vanilla JavaScript with no jQuery dependency.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20the%20wishlist%20on%20a%20page%3F\"><h3>How do I show the wishlist on a page?<\/h3><\/dt>\n<dd><p>Use the <code>[shortlist]<\/code> shortcode, or rely on the \"Wishlist\" tab added to the WooCommerce My Account area.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes. On variable products the wishlist button follows the selected variation, so the saved item can include the chosen size or colour.<\/p><\/dd>\n<dt id=\"can%20i%20create%20a%20dedicated%20wishlist%20page%3F\"><h3>Can I create a dedicated wishlist page?<\/h3><\/dt>\n<dd><p>Yes. Choose an existing page or create one from the Shortlist settings screen. The plugin can inject the <code>[shortlist]<\/code> list automatically.<\/p><\/dd>\n<dt id=\"is%20the%20wishlist%20accessible%3F\"><h3>Is the wishlist accessible?<\/h3><\/dt>\n<dd><p>Yes. The wishlist button is a real button with <code>aria-pressed<\/code>, screen-reader announcements and no layout shift when the saved state changes.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20on%20wordpress%20multisite%3F\"><h3>Does this plugin work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. This plugin is compatible with WordPress Multisite. Network activate it or activate it on individual sites; each site keeps its own settings and data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixed the PRO promo on the settings screen quoting a price in PLN. PRO is priced and charged in EUR, so an admin on a Polish site was shown a zloty amount and then billed in euro, and the zloty figure was a fixed conversion that drifted from the real charge as the rate moved. The promo now shows the euro price that is actually taken.<\/li>\n<li>New: Elementor widget for the wishlist list, same output as the shortcode and block. Loads only when Elementor is active.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fixed: Save Changes on the Shortlist settings screen now saves every option again, including the whole \"Wishlist list\" card (heading, intro, empty-list message, columns and the show image, name, price, add-to-cart and remove toggles). Previously that button posted nothing.<\/li>\n<li>Fixed: \"Create wishlist page\" now only creates the page, instead of hijacking the settings save.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Translations: completed Polish, German and Spanish for the PRO upgrade panel.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Accessibility improvements to the admin and storefront markup.<\/li>\n<li>Fixed low-contrast admin headings under an OS dark-mode preference.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added bundled Polish, German and Spanish translations for the plugin interface.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>First stable release.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Renamed to Plogins Shortlist for WooCommerce for a more distinctive plugin name.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>New: <strong>Wishlist page<\/strong>, pick an existing page or create one from settings; auto-inject the <code>[shortlist]<\/code> list when the page has no shortcode yet.<\/li>\n<li>New: <strong>Variation-aware saves<\/strong>, on variable products the button tracks the selected variation; configurable hint when no variation is chosen.<\/li>\n<li>Improved: settings screen groups wishlist page, variation hint and existing placement controls.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Polish: refreshed, themeable storefront styles (heart icon, dark-mode, CLS-safe grid) and a modern, card-based settings screen with an accessible \"?\" help popover on every option.<\/li>\n<li>Accessibility: wishlist changes are now announced to screen readers, and the My Account count updates live without a page reload.<\/li>\n<li>Robustness: friendly empty-state with a \"Browse products\" link, clear failure messaging, and defensive guards against missing product data.<\/li>\n<li>New: <strong>Shortlist Wishlist<\/strong> block for the block editor (server-rendered, matches the <code>[shortlist]<\/code> shortcode).<\/li>\n<li>New: optional saved-item count next to the My Account \"Wishlist\" menu label.<\/li>\n<li>New: full control over the wishlist list, heading, intro and empty-list text, column count, and which product details (image, name, price, add-to-cart, remove button) appear.<\/li>\n<li>New: uninstall cleanup removes the wishlist table and plugin options on delete.<\/li>\n<li>i18n: added Domain Path and a <code>languages<\/code> directory for translations.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: accessible AJAX wishlist for WooCommerce with guest support, a My Account tab, a shortcode, and a settings page for placement and labels.<\/li>\n<\/ul>","raw_excerpt":"Wishlist for WooCommerce that works without an account: save from any listing, keep the list on login, My Account tab, shortcode and block.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358001"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/motylanogha"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358001"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358001"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358001"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358001"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358001"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}