{"id":291773,"date":"2026-03-28T10:42:00","date_gmt":"2026-03-28T10:42:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wishlist-registry-for-woocommerce\/"},"modified":"2026-04-08T09:05:07","modified_gmt":"2026-04-08T09:05:07","slug":"logicfire-wishlist-registry-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/logicfire-wishlist-registry-for-woocommerce\/","author":6190781,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.9","stable_tag":"2.1.9","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Logicfire Wishlist & Registry for WooCommerce","header_author":"Logicfire","header_description":"Beautiful wishlist & collections for WooCommerce. Let customers save products, share wishlists, and add to cart \u2014 all with a premium UI.","assets_banners_color":"f166ab","last_updated":"2026-04-08 09:05:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/logicfire.in\/wishlist-registry-for-woocommerce\/","header_author_uri":"https:\/\/logicfire.in","rating":5,"author_block_rating":0,"active_installs":0,"downloads":314,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"2.1.0":{"tag":"2.1.0","author":"logicfire","date":"2026-03-28 10:49:21"},"2.1.1":{"tag":"2.1.1","author":"logicfire","date":"2026-04-01 09:17:05"},"2.1.2":{"tag":"2.1.2","author":"logicfire","date":"2026-04-04 10:51:58"},"2.1.7":{"tag":"2.1.7","author":"logicfire","date":"2026-04-07 20:33:59"},"2.1.8":{"tag":"2.1.8","author":"logicfire","date":"2026-04-07 20:54:13"},"2.1.9":{"tag":"2.1.9","author":"logicfire","date":"2026-04-08 09:05:07"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3501953,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3501953,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3493274,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3493274,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"lfwlr\/registry-counter":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lfwlr\/registry-counter","version":"1.0.0","title":"Registry Counter","category":"lfwlr","icon":"gifts","description":"Displays a registry icon with item count badge. Shows a dropdown (desktop) or drawer (mobile) with product names. Hidden when registry is disabled. Place in headers, menus, or anywhere.","keywords":["registry","gift","counter","badge","header"],"textdomain":"logicfire-wishlist-registry-for-woocommerce","attributes":{"icon":{"type":"string","default":"gift","enum":["gift","heart","star"]},"showLabel":{"type":"boolean","default":false},"label":{"type":"string","default":"Registry"}},"supports":{"html":false,"align":true},"editorScript":"lfwlr-block-registry-counter-editor"},"lfwlr\/wishlist-button":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lfwlr\/wishlist-button","version":"1.0.0","title":"Wishlist Button","category":"lfwlr","icon":"heart","description":"Add-to-wishlist button for a WooCommerce product. Place inside product templates or set a Product ID.","keywords":["wishlist","heart","save","woocommerce"],"textdomain":"logicfire-wishlist-registry-for-woocommerce","attributes":{"productId":{"type":"number","default":0},"style":{"type":"string","default":"icon-text","enum":["icon-only","icon-text","banner"]},"label":{"type":"string","default":"Add to wishlist"},"icon":{"type":"string","default":"heart","enum":["heart","bookmark","star"]},"position":{"type":"string","default":"","enum":["","topleft","topright"]}},"supports":{"html":false,"align":true},"editorScript":"lfwlr-block-wishlist-button-editor"},"lfwlr\/wishlist-counter":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"lfwlr\/wishlist-counter","version":"1.0.0","title":"Wishlist Counter","category":"lfwlr","icon":"heart","description":"Displays a wishlist icon with item count badge. Shows a dropdown (desktop) or drawer (mobile) with product names. Place in headers, menus, or anywhere.","keywords":["wishlist","counter","badge","mini-cart","header"],"textdomain":"logicfire-wishlist-registry-for-woocommerce","attributes":{"icon":{"type":"string","default":"heart","enum":["heart","bookmark","star"]},"showLabel":{"type":"boolean","default":false},"label":{"type":"string","default":"Wishlist"}},"supports":{"html":false,"align":true},"editorScript":"lfwlr-block-wishlist-counter-editor"}},"tagged_versions":["2.1.0","2.1.1","2.1.2","2.1.7","2.1.8","2.1.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3493274,"resolution":"1","location":"assets","locale":"","width":2226,"height":1536},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3493274,"resolution":"10","location":"assets","locale":"","width":2872,"height":1814},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3493274,"resolution":"11","location":"assets","locale":"","width":3276,"height":6536},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3493274,"resolution":"2","location":"assets","locale":"","width":2384,"height":1606},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3493274,"resolution":"3","location":"assets","locale":"","width":3344,"height":1810},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3493274,"resolution":"4","location":"assets","locale":"","width":3304,"height":1748},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3493274,"resolution":"5","location":"assets","locale":"","width":1896,"height":1008},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3493274,"resolution":"6","location":"assets","locale":"","width":2378,"height":1602},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3493274,"resolution":"7","location":"assets","locale":"","width":1706,"height":1126},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3493274,"resolution":"8","location":"assets","locale":"","width":1926,"height":1440},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3493274,"resolution":"9","location":"assets","locale":"","width":2602,"height":1608}},"screenshots":[]},"plugin_section":[],"plugin_tags":[132672,73318,259413,1666,286],"plugin_category":[45,56],"plugin_contributors":[84711],"plugin_business_model":[],"class_list":["post-291773","plugin","type-plugin","status-publish","hentry","plugin_tags-gift-registry","plugin_tags-save-for-later","plugin_tags-wedding-registry","plugin_tags-wishlist","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-social-and-sharing","plugin_contributors-logicfire","plugin_committers-logicfire"],"banners":{"banner":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/banner-772x250.png?rev=3493274","banner_2x":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/banner-1544x500.png?rev=3493274","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/icon-128x128.png?rev=3501953","icon_2x":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/icon-256x256.png?rev=3501953","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-1.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-2.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-3.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-4.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-5.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-6.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-7.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-8.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-9.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-10.png?rev=3493274","caption":""},{"src":"https:\/\/ps.w.org\/logicfire-wishlist-registry-for-woocommerce\/assets\/screenshot-11.png?rev=3493274","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>The best free WooCommerce wishlist and gift registry plugin.<\/strong> Let your customers save favorite products to wishlists, create gift registries for weddings, baby showers, birthdays, and holidays, and share their lists via link, email, or social media. Friends and family can view shared wishlists and purchase items directly \u2014 with real-time purchase notifications.<\/p>\n\n<p>Lightweight, fast, and built with a modern UI. Works with WooCommerce HPOS and block themes out of the box.<\/p>\n\n<p><strong>Demo:<\/strong> <a href=\"https:\/\/dev.logicfire.in\/\">View Demo<\/a><\/p>\n\n<h3>Features<\/h3>\n\n<h3>Wishlist Management<\/h3>\n\n<ul>\n<li><strong>Create wishlists<\/strong> \u2014 Save products to wishlists from shop, category, search, and single product pages<\/li>\n<li><strong>Multiple wishlists<\/strong> \u2014 Create and manage multiple wishlists (configurable max; unlimited by default)<\/li>\n<li><strong>Guest wishlists<\/strong> \u2014 Allow non-logged-in users to create wishlists via cookies<\/li>\n<li><strong>Add to cart from wishlist<\/strong> \u2014 One-click add to cart directly from the wishlist page<\/li>\n<li><strong>Remove on add to cart<\/strong> \u2014 Optional: remove items from wishlist when added to cart<\/li>\n<li><strong>Remove on purchase<\/strong> \u2014 Optional: remove items when order is completed<\/li>\n<\/ul>\n\n<h3>Gift Registry Management<\/h3>\n\n<ul>\n<li><strong>Event dates<\/strong> \u2014 Set an event date per list to use it as a registry<\/li>\n<li><strong>Convert to registry<\/strong> \u2014 Turn a wishlist into a registry by adding an event date<\/li>\n<li><strong>Wishlists + Registry tabs<\/strong> \u2014 Switch between wishlists and registries on the My Wishlists page<\/li>\n<li><strong>Purchase notifications<\/strong> \u2014 Email registry owner when items are purchased from their registry<\/li>\n<\/ul>\n\n<h3>Sharing &amp; Visibility<\/h3>\n\n<ul>\n<li><strong>Share wishlists<\/strong> \u2014 Share via link, email, and social media (Facebook, Twitter, Pinterest)<\/li>\n<li><strong>Privacy controls<\/strong> \u2014 Public, private, or shared visibility per wishlist<\/li>\n<li><strong>Invite access<\/strong> \u2014 Invite specific people with view or purchase access; revoke anytime<\/li>\n<li><strong>Shared wishlist page<\/strong> \u2014 Public URL for recipients to view (and optionally purchase from) shared lists<\/li>\n<\/ul>\n\n<h3>Product Integration<\/h3>\n\n<ul>\n<li><strong>Heart button on product cards<\/strong> \u2014 Add-to-wishlist on shop, category, and search results<\/li>\n<li><strong>Single product button<\/strong> \u2014 Configurable placement: after title, price, excerpt, add to cart, meta, or sharing<\/li>\n<li><strong>Button position<\/strong> \u2014 Top left or top right on product cards<\/li>\n<li><strong>Compact layout<\/strong> \u2014 One-tap add to default list, then change list via toast (mobile or all devices)<\/li>\n<\/ul>\n\n<h3>Page &amp; Shortcodes<\/h3>\n\n<ul>\n<li><strong>Wishlist page<\/strong> \u2014 Dedicated page with <code>[lfwlr_wishlist_registry_page]<\/code> shortcode<\/li>\n<li><strong>Button shortcode<\/strong> \u2014 <code>[lfwlr_wishlist_button]<\/code> to place wishlist button anywhere<\/li>\n<li><strong>My Account integration<\/strong> \u2014 WooCommerce My Account endpoint for wishlists<\/li>\n<\/ul>\n\n<h3>Appearance<\/h3>\n\n<ul>\n<li><strong>Primary &amp; hover colors<\/strong> \u2014 Customize button and heart colors<\/li>\n<li><strong>Border radius<\/strong> \u2014 Global styling (0\u201332px)<\/li>\n<li><strong>Wishlist icon<\/strong> \u2014 Heart, star, gift, or custom SVG upload<\/li>\n<li><strong>Registry icon<\/strong> \u2014 Gift, heart, star, or custom SVG<\/li>\n<li><strong>Custom CSS<\/strong> \u2014 Override styles for full control<\/li>\n<li><strong>Reset styles<\/strong> \u2014 One-click restore defaults<\/li>\n<\/ul>\n\n<h3>Email Notifications<\/h3>\n\n<ul>\n<li><strong>Wishlist shared<\/strong> \u2014 Notify recipient when someone shares a wishlist<\/li>\n<li><strong>Item purchased<\/strong> \u2014 Email registry owner when an item is purchased from their list<\/li>\n<li><strong>Back in stock<\/strong> \u2014 Alert users when wishlisted out-of-stock products become available<\/li>\n<li><strong>Configurable from<\/strong> \u2014 Set email from name and address<\/li>\n<\/ul>\n\n<h3>Technical<\/h3>\n\n<ul>\n<li><strong>REST API<\/strong> \u2014 Full REST API for wishlists and items<\/li>\n<li><strong>WooCommerce Blocks<\/strong> \u2014 Compatible with block-based product templates<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 Fully compatible with WooCommerce High-Performance Order Storage<\/li>\n<li><strong>Extensible<\/strong> \u2014 Filters and hooks for developers<\/li>\n<li><strong>Translation-ready<\/strong> \u2014 Text domain: <code>logicfire-wishlist-registry-for-woocommerce<\/code><\/li>\n<\/ul>\n\n\n\n<h3>Comes with Pro<\/h3>\n\n<p>Upgrade to <strong>Wishlist &amp; Registry for WooCommerce Pro<\/strong> to unlock:<\/p>\n\n<ul>\n<li><strong>\"I'll buy this\" claims<\/strong> \u2014 Let visitors claim items before purchasing to avoid duplicates<\/li>\n<li><strong>Claim expiry<\/strong> \u2014 Configurable hours before uncompleted claims expire<\/li>\n<li><strong>Fulfillment tracking<\/strong> \u2014 Quantity fulfilled per item; progress bars and completion handling<\/li>\n<li><strong>Ship to registry recipient<\/strong> \u2014 Split cart: registry items ship to wishlist owner<\/li>\n<li><strong>Analytics dashboard<\/strong> \u2014 Total wishlists, items, users, purchases, most wishlisted products, recent registry purchases<\/li>\n<li><strong>My Account: Registry claims<\/strong> \u2014 Dedicated page for items you've claimed<\/li>\n<li><strong>Optional purchaser names<\/strong> \u2014 Show who bought what on registries (when enabled)<\/li>\n<\/ul>\n\n\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 5.8+ (tested up to 6.9)<\/li>\n<li>PHP 7.4+<\/li>\n<li>WooCommerce 6.0+ (tested up to 10.6.1)<\/li>\n<li>WooCommerce HPOS optional but supported<\/li>\n<\/ul>\n\n<h3>Shortcodes<\/h3>\n\n\n\n\n  Shortcode\n  Description\n\n\n\n\n  <code>[lfwlr_wishlist_registry_page]<\/code>\n  Full wishlist management page with dashboard\n\n\n  <code>[lfwlr_wishlist_button]<\/code>\n  Wishlist heart\/button (works when wishlist is disabled too)\n\n\n  <code>[lfwlr_wishlist_counter]<\/code>\n  Wishlist counter with dropdown\/drawer (icon, show_label, label)\n\n\n  <code>[lfwlr_registry_counter]<\/code>\n  Registry counter with dropdown\/drawer (icon, show_label, label)\n\n\n\n\n<h3>Gutenberg Blocks<\/h3>\n\n<p>Three blocks are available under the <strong>\"Wishlist &amp; Registry\"<\/strong> category in the block editor:<\/p>\n\n<ul>\n<li><strong>Wishlist Button<\/strong> \u2014 Add-to-wishlist button for product pages. Configure icon (heart, bookmark, star), style (icon-only, icon + text, banner), custom label, and position.<\/li>\n<li><strong>Wishlist Counter<\/strong> \u2014 Displays a wishlist icon with item count badge. On click: dropdown on desktop, slide-in drawer on mobile \u2014 showing product names with a link to the wishlists page.<\/li>\n<li><strong>Registry Counter<\/strong> \u2014 Same as Wishlist Counter but for gift registries. Automatically hidden when registry is disabled.<\/li>\n<\/ul>\n\n<p><strong>How to use:<\/strong><\/p>\n\n<ol>\n<li>Open the <strong>Site Editor<\/strong> (Appearance \u2192 Editor) or any page\/post editor.<\/li>\n<li>Click <strong>+<\/strong> to add a block and search for \"Wishlist\" or \"Registry\".<\/li>\n<li>Drop the block where you want it (header, sidebar, product template, etc.).<\/li>\n<li>Adjust settings in the right sidebar (Inspector Controls).<\/li>\n<\/ol>\n\n<p><strong>Tip:<\/strong> To add counters to your site header, edit your <strong>Header template part<\/strong> in the Site Editor and place the Wishlist Counter \/ Registry Counter blocks next to your navigation or site title.<\/p>\n\n<h3>Elementor Widgets<\/h3>\n\n<p>If <a href=\"https:\/\/wordpress.org\/plugins\/elementor\/\">Elementor<\/a> is active, three widgets appear under <strong>WooCommerce Elements<\/strong>:<\/p>\n\n<ul>\n<li><strong>Wishlist Button<\/strong> \u2014 Same options as the Gutenberg block (icon, style, label, product ID).<\/li>\n<li><strong>Wishlist Counter<\/strong> \u2014 Icon + badge with dropdown\/drawer. Place in header templates or anywhere.<\/li>\n<li><strong>Registry Counter<\/strong> \u2014 Icon + badge for registries. Hidden when registry is disabled.<\/li>\n<\/ul>\n\n<p><strong>How to use:<\/strong><\/p>\n\n<ol>\n<li>Edit a page or template with Elementor.<\/li>\n<li>Search for \"Wishlist\" in the widget panel.<\/li>\n<li>Drag the widget into your layout.<\/li>\n<li>Configure icon, label, and style in the widget settings.<\/li>\n<\/ol>\n\n<h3>Counter Widgets (Wishlist &amp; Registry)<\/h3>\n\n<p>The counter widgets work like the WooCommerce mini-cart: a small icon with a count badge that reveals a panel with product names on click.<\/p>\n\n<ul>\n<li><strong>Desktop (\u2265768px):<\/strong> Opens a dropdown panel below the icon.<\/li>\n<li><strong>Mobile (&lt;768px):<\/strong> Opens a slide-in drawer from the right.<\/li>\n<li><strong>Real-time updates:<\/strong> The badge count updates instantly when items are added or removed \u2014 no page refresh needed.<\/li>\n<li><strong>Product list:<\/strong> Shows product names with thumbnails (up to 10 items) and a \"View Wishlists\" or \"View Registries\" button at the bottom.<\/li>\n<\/ul>\n\n<p><strong>Placement ideas:<\/strong><\/p>\n\n<ul>\n<li>Site header (next to cart icon and navigation)<\/li>\n<li>Sidebar widgets<\/li>\n<li>Footer<\/li>\n<li><p>WooCommerce My Account area<\/p>\n\n<h3>Settings<\/h3>\n\n<p>Configure under <strong>WooCommerce \u2192 Settings \u2192 Wishlist &amp; Registry<\/strong>:<\/p><\/li>\n<li><p>General: Enable\/disable, guest wishlists, button positions, compact layout<\/p><\/li>\n<li>Wishlist page selection<\/li>\n<li>Remove on add to cart \/ remove on purchase<\/li>\n<li>Sharing: enable, email from name\/address<\/li>\n<li>Appearance: colors, icons, border radius, custom CSS<\/li>\n<li>Notifications: item purchased, back in stock (item claimed and fulfillment updates with Pro)<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>GPLv2 or later. See <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-2.0.html\">LICENSE<\/a>.<\/p>\n\n<h3>Author<\/h3>\n\n<p><a href=\"https:\/\/logicfire.in\">Logicfire<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <a href=\"https:\/\/wordpress.org\/plugins\/woocommerce\/\">WooCommerce<\/a>.<\/li>\n<li>Upload and activate <strong>Wishlist &amp; Registry for WooCommerce<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Wishlist &amp; Registry<\/strong> to configure.<\/li>\n<li>Create a page and add <code>[lfwlr_wishlist_registry_page]<\/code> to use as the main wishlist page.<\/li>\n<li>Optionally add <code>[lfwlr_wishlist_button]<\/code> anywhere for a standalone wishlist button.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>Add - Registry tab remains visible to guests on the wishlist page; guests see a short login prompt instead of registry management UI<\/li>\n<li>Fix - Gift registry requires a logged-in user: REST API blocks guest create\/update of <code>event_date<\/code>, omits registries from guest list responses, and returns 404 for guest access to registry rows (including delete)<\/li>\n<li>Fix - Hide \"Convert to registry\", registry progress line, and registry-type card chrome for guests; hide registry add-to-registry control on product hearts for guests (Pro extended dashboard)<\/li>\n<li>Fix - Registry counter block, Elementor widget, and shortcode output nothing when the user is not logged in or registry is disabled (no front-end notice banner)<\/li>\n<li>Update - <code>wp_kses<\/code> Vue template allowlist extended for <code>v-bind:*<\/code> attributes where shorthand <code>:<\/code> is stripped<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Fix - Add-to-cart from shared page uses claimed quantity when a claim exists (Pro integration)<\/li>\n<li>Fix - Claim notification now respects per-user notification preference<\/li>\n<li>Add - Pro settings hooks in wishlist page Vue app for frontend dashboard settings tab<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Refactor - Move <code>LFWLR_Purchase_Tracker<\/code> out of base plugin (Pro-only ownership for fulfillment\/purchase-tracking internals)<\/li>\n<li>Update - Base plugin purchase notifications remain handled by <code>LFWLR_Cart<\/code> + <code>lfwlr_item_purchased<\/code> notification flow<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Add - Allow selecting multiple navigation menu locations for automatic wishlist counter placement<\/li>\n<li>Fix - Counter dropdown footer behavior: keep \"+X more\" and \"View Wishlists\" pinned at the bottom while product items scroll<\/li>\n<li>Fix - Counter toggle stability in navigation: clicking the counter again now closes the same panel instead of spawning a duplicate dropdown at the top-left<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Add - Gutenberg blocks: Wishlist Button, Wishlist Counter, Registry Counter<\/li>\n<li>Add - Elementor widgets: Wishlist Button, Wishlist Counter, Registry Counter<\/li>\n<li>Add - Counter widgets show dropdown (desktop) or drawer (mobile) with product names and View Lists CTA<\/li>\n<li>Add - Enhanced Wishlist Button with configurable icon (heart\/bookmark\/star), style (icon-only\/icon+text\/banner), and custom label<\/li>\n<li>Add - Custom block category \"Wishlist &amp; Registry\" in Gutenberg editor<\/li>\n<li>Add - Real-time badge count updates via lfwlrHooks event bus<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Update - Improved readme with keyword-rich description for wishlist, gift registry, wedding registry, and save for later searches<\/li>\n<li>Update - Added changelog section to readme<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fix - Added parameter documentation for all function parameters<\/li>\n<li>Update - Improved code documentation and comments for better maintainability<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Security - Comprehensive REST API security audit - all endpoints follow WordPress.org Codex guidelines<\/li>\n<li>Fix - REST API error responses now use WP_Error instead of WP_REST_Response for proper error handling<\/li>\n<li>Fix - Added missing sanitize_callback to all REST API route arguments for input sanitization<\/li>\n<li>Fix - Added validate_callback with enum validation for visibility, access_level, and email fields<\/li>\n<li>Fix - Combined duplicate \/items\/{id} route registrations into single endpoint with array of handlers<\/li>\n<li>Fix - check_auth() now returns WP_Error with descriptive 401 message instead of generic false<\/li>\n<li>Refactor - Removed strict return type hints from REST methods that can return WP_Error<\/li>\n<li>Fix - Completed remaining wlr_ to lfwlr_ prefix rename across WooCommerce admin hooks, order meta keys, and transient cleanup<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Fix - Implement missing permission callbacks for REST API routes with proper auth closures<\/li>\n<li>Fix - Output escaping issues on wishlist frontend items via wp_kses_post and CSS inline<\/li>\n<li>Refactor - Mass rename of generic prefix wlr to unique lfwlr across all files, functions, options, and methods<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Update - Rename registry setting to Enable Registry and gate registry UI\/API behavior behind enable_registry<\/li>\n<li>Fix - Hide\/show registry tabs and frontend registry icon consistently from the new setting<\/li>\n<li>Update - Add Active state Icon color appearance setting for active icon accents<\/li>\n<li>Refactor - Normalize frontend\/config naming to enableRegistry and replace legacy ww- CSS class prefixes with lfwlr-<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Add - Gift registry: event dates, REST event_date, fulfillment fields, Wishlists + Registry tabs, purchase tracking<\/li>\n<li>Update - extendedDashboard enabled by default for logged-in wishlist page UX<\/li>\n<\/ul>","raw_excerpt":"WooCommerce wishlist and gift registry plugin \u2014 let customers save products, create wedding &amp; baby registries, share wishlists, and buy from share &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291773"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/logicfire"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291773"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291773"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291773"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291773"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291773"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}