{"id":311821,"date":"2026-05-17T10:29:22","date_gmt":"2026-05-17T10:29:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wishowl-wishlist-for-woocommerce\/"},"modified":"2026-06-07T23:05:48","modified_gmt":"2026-06-07T23:05:48","slug":"wishowl-wishlist-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/vi.wordpress.org\/plugins\/wishowl-wishlist-for-woocommerce\/","author":23497932,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"WishOwl Wishlist for WooCommerce","header_author":"WishOwl","header_description":"A genuinely free, full-featured wishlist plugin for WooCommerce. Guest wishlists, multiple lists per user, shareable links, price tracking. No premium tier, no upsells.","assets_banners_color":"cec5c0","last_updated":"2026-06-07 23:05:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wishowl.app\/woocommerce","header_author_uri":"https:\/\/wishowl.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":200,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"wishowl1","date":"2026-05-22 02:28:18"},"1.1.0":{"tag":"1.1.0","author":"wishowl1","date":"2026-05-27 12:01:32"},"1.2.0":{"tag":"1.2.0","author":"wishowl1","date":"2026-06-07 22:36:14"},"1.2.1":{"tag":"1.2.1","author":"wishowl1","date":"2026-06-07 23:05:48"}},"upgrade_notice":{"1.2.1":"<p>Adds a small one-time review prompt on the plugin&#039;s own admin screens after 14 days of use. No behavior changes for customers.<\/p>","1.2.0":"<p>Shared wishlist URLs now respect the Default layout setting (table or grid) instead of always rendering as a grid. Recipients can also pass <code>?view=table<\/code> or <code>?view=grid<\/code> to switch.<\/p>","1.1.0":"<p>Adds optional email notifications (price drop, back in stock, on sale) \u2014 off by default. No emails send until you enable them under WooCommerce \u2192 Wishlist \u2192 Notifications.<\/p>","1.0.2":"<p>WordPress 7.0 compatibility plus security and internationalization hardening. No behavior changes.<\/p>","1.0.1":"<p>Compliance fixes for WordPress.org plugin directory review. No behavior changes.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3534449,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3534449,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3534449,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3534449,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"wishowl\/wishlist-widget":{"name":"wishowl\/wishlist-widget","title":"WishOwl Wishlist Widget"}},"tagged_versions":["1.0.1","1.1.0","1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3534449,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3534449,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3534449,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3534449,"resolution":"4","location":"assets","locale":"","width":2560,"height":1600},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3534449,"resolution":"5","location":"assets","locale":"","width":2560,"height":1600},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3534449,"resolution":"6","location":"assets","locale":"","width":1920,"height":1200}},"screenshots":{"1":"The Add to Wishlist button on a product page.","2":"The full wishlist with multiple items, price-drop badges, and remove buttons.","3":"The shareable wishlist view that recipients see.","4":"Settings page \u2014 General tab.","5":"Settings page \u2014 Privacy tab.","6":"Sidebar widget with thumbnails and item count."}},"plugin_section":[],"plugin_tags":[132672,248113,1666,65269,286],"plugin_category":[45],"plugin_contributors":[263236],"plugin_business_model":[],"class_list":["post-311821","plugin","type-plugin","status-publish","hentry","plugin_tags-gift-registry","plugin_tags-guest-wishlist","plugin_tags-wishlist","plugin_tags-wishlist-for-woocommerce","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wishowl1","plugin_committers-wishowl1"],"banners":{"banner":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/banner-772x250.jpg?rev=3534449","banner_2x":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/banner-1544x500.jpg?rev=3534449","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/icon-128x128.png?rev=3534449","icon_2x":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/icon-256x256.png?rev=3534449","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-1.png?rev=3534449","caption":"The Add to Wishlist button on a product page."},{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-2.png?rev=3534449","caption":"The full wishlist with multiple items, price-drop badges, and remove buttons."},{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-3.png?rev=3534449","caption":"The shareable wishlist view that recipients see."},{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-4.png?rev=3534449","caption":"Settings page \u2014 General tab."},{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-5.png?rev=3534449","caption":"Settings page \u2014 Privacy tab."},{"src":"https:\/\/ps.w.org\/wishowl-wishlist-for-woocommerce\/assets\/screenshot-6.png?rev=3534449","caption":"Sidebar widget with thumbnails and item count."}],"raw_content":"<!--section=description-->\n<p><strong>WishOwl Wishlist for WooCommerce<\/strong> is a free, no-upsell wishlist plugin for WooCommerce stores. Most \"free\" wishlist plugins gate the features people actually need (guest wishlists, multiple lists, price tracking, shareable links) behind a paid tier. We don't. Every feature listed below works in the free version, forever.<\/p>\n\n<p>Built for store owners who want a clean, fast, theme-friendly wishlist that just works \u2014 without the upsell prompts, dashboard ads, or \"premium\" modal that pops up the moment a customer tries to share their list.<\/p>\n\n<h4>Why another wishlist plugin?<\/h4>\n\n<p>WishOwl makes a <a href=\"https:\/\/wishowl.app\/\">universal wishlist app<\/a> \u2014 a mobile + web product where customers save items from any store (Amazon, Etsy, your store, anywhere) into one place, share with friends and family, and coordinate gifts. We built this WooCommerce plugin because store owners kept asking for a real wishlist that didn't paywall the basics. Using the WordPress plugin doesn't require any WishOwl account or external service \u2014 it's fully self-contained.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Add to Wishlist<\/strong> button on product pages and shop loops, with configurable position (before \/ after Add to Cart, floating heart, or shop-loop only).<\/li>\n<li><strong>Guest wishlists<\/strong> \u2014 works without an account. Stored in a cookie, persisted server-side, expires after a configurable interval.<\/li>\n<li><strong>Multiple wishlists per user<\/strong> \u2014 let logged-in customers create lists like \"Birthday\", \"Christmas\", \"Wedding\".<\/li>\n<li><strong>Shareable wishlist links<\/strong> with three privacy modes: Private, Shared (link-only), or Public (discoverable).<\/li>\n<li><strong>Share-token rotation<\/strong> \u2014 owners can rotate the share link to instantly invalidate the old one.<\/li>\n<li><strong>Variable product support<\/strong> \u2014 wishlist a specific size or color, not just the parent product.<\/li>\n<li><strong>Price tracking<\/strong> \u2014 store the price when an item is added; surface a price-drop badge when the item later goes on sale.<\/li>\n<li><strong>Email notifications<\/strong> (optional, off by default) \u2014 alert customers when a wishlisted item drops in price, comes back in stock, or goes on sale. Per-customer frequency cap, one-click unsubscribe, and a double-opt-in (verify-by-email) field for guests so no address gets emailed without the owner's confirmation.<\/li>\n<li><strong>Sidebar widget<\/strong> in three flavors: classic widget, Gutenberg block, and <code>[wishowl_wishlist_widget]<\/code> shortcode.<\/li>\n<li><strong>Wishlist page shortcode<\/strong> <code>[wishowl_wishlist]<\/code> with table or grid layout.<\/li>\n<li><strong>Theme-friendly<\/strong> \u2014 minimal CSS that inherits theme colors and typography. Tested on Storefront, Astra, Hello Elementor, GeneratePress, Twenty Twenty-Four.<\/li>\n<li><strong>HPOS-compatible<\/strong> \u2014 declares compatibility with WooCommerce's High-Performance Order Storage.<\/li>\n<li><strong>Translations-ready<\/strong> \u2014 text domain <code>wishowl-wishlist-for-woocommerce<\/code>, includes <code>.pot<\/code>.<\/li>\n<li><strong>GDPR-compliant<\/strong> \u2014 integrates with WordPress's Personal Data Export and Erasure tools.<\/li>\n<li><strong>No premium tier, no upsells, no dashboard ads.<\/strong><\/li>\n<\/ul>\n\n<h4>Settings<\/h4>\n\n<p>Everything is configurable under <strong>WooCommerce \u2192 Wishlist<\/strong>:<\/p>\n\n<ul>\n<li><strong>General<\/strong>: button label, button position, wishlist page, guest wishlists on\/off, guest expiry (30\/90\/180 days).<\/li>\n<li><strong>Display<\/strong>: toggle every column on the wishlist table independently \u2014 variations, price, \"price at add\" comparison, stock status, date added. Switch between table and grid layouts.<\/li>\n<li><strong>Privacy<\/strong>: default privacy mode for new wishlists, allow public mode (yes\/no), allow indexing of public wishlists by search engines (default off).<\/li>\n<li><strong>Price tracking<\/strong>: enable\/disable, cron frequency (hourly \/ 6-hourly \/ daily), snapshot retention (30\/60\/90 days).<\/li>\n<li><strong>Notifications<\/strong>: master switch (off by default), per-trigger toggles (price drop \/ back in stock \/ on sale), frequency cap (daily \/ weekly \/ monthly), guest opt-in, and a \"send test email\" button. Sender name and address are inherited from your site's existing mail configuration (WooCommerce \u2192 Settings \u2192 Emails, or a plugin like WP Mail SMTP) so notification emails match the rest of your store's branding.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[wishowl_wishlist]<\/code> \u2014 the full wishlist page (auto-created on activation).<\/li>\n<li><code>[wishowl_wishlist_widget]<\/code> \u2014 compact widget for sidebars or any block area.<\/li>\n<li><code>[wishowl_button]<\/code> \u2014 manual placement of the Add to Wishlist button (auto-detects current product, or pass <code>product_id=\"123\"<\/code>).<\/li>\n<\/ul>\n\n<h4>Theme overrides<\/h4>\n\n<p>Place a copy of any template from <code>public\/views\/<\/code> in <code>your-theme\/wishowl-wishlist\/<\/code> to override.<\/p>\n\n<h4>About WishOwl<\/h4>\n\n<p>WishOwl is built by the team at <a href=\"https:\/\/wishowl.app\/\">wishowl.app<\/a>, makers of a universal wishlist app for iOS, Android, and the web. Customers can save items from any site into one wishlist, share with friends and family, and coordinate gifts. The mobile app complements your store's wishlist \u2014 it doesn't replace it. Learn more at <a href=\"https:\/\/wishowl.app\/woocommerce\">wishowl.app\/woocommerce<\/a>.<\/p>\n\n<p>Many of your customers already keep a personal wishlist app for saving gift ideas across the web. If you're curious how those consumer apps compare \u2014 and where a store-native wishlist like this plugin fits alongside them \u2014 we keep a guide to the <a href=\"https:\/\/wishowl.app\/best-wishlist-apps\">best wishlist apps<\/a> comparing Giftster, Elfster, MyRegistry, Babylist, and more.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New<\/strong> and search for \"WishOwl Wishlist\". Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Visit <strong>WooCommerce \u2192 Wishlist<\/strong> and review the settings.<\/li>\n<li>The plugin auto-creates a wishlist page at <code>\/wishlist<\/code>. To use a different page, paste the <code>[wishowl_wishlist]<\/code> shortcode into any page and pick it under <strong>WooCommerce \u2192 Wishlist \u2192 General<\/strong>.<\/li>\n<\/ol>\n\n<p>Manual install:<\/p>\n\n<ol>\n<li>Download the <code>.zip<\/code> from this listing.<\/li>\n<li>Upload to <code>wp-content\/plugins\/<\/code> and unzip, or upload via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20really%20free%3F\"><h3>Is this really free?<\/h3><\/dt>\n<dd><p>Yes. Every feature listed in the description works in the free version. There is no premium tier, no add-ons, and no upsells inside the plugin. WishOwl makes its money from a separate consumer mobile app, not from selling plugin features.<\/p><\/dd>\n<dt id=\"does%20this%20work%20without%20wishowl%20accounts%3F\"><h3>Does this work without WishOwl accounts?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully self-contained. It stores all data in your own database. No API calls to WishOwl, no external dependencies. There's an <strong>optional<\/strong> \"Powered by WishOwl\" link to wishowl.app that you can turn on in <strong>WooCommerce \u2192 Wishlist \u2192 General<\/strong>. It's off by default \u2014 nothing is shown on the public site unless you explicitly enable it.<\/p><\/dd>\n<dt id=\"can%20guests%20save%20items%20without%20logging%20in%3F\"><h3>Can guests save items without logging in?<\/h3><\/dt>\n<dd><p>Yes. Guest wishlists are stored in a cookie + custom database table and persist for 30, 90, or 180 days (configurable). When a guest later registers and logs in, their items are automatically merged into their account.<\/p><\/dd>\n<dt id=\"does%20it%20support%20variable%20products%20%28size%2C%20color%2C%20etc.%29%3F\"><h3>Does it support variable products (size, color, etc.)?<\/h3><\/dt>\n<dd><p>Yes. Customers can wishlist a specific variation, and the wishlist table shows the chosen attributes.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20wishlist%20count%20or%20compact%20widget%20to%20my%20sidebar%3F\"><h3>How do I add a wishlist count or compact widget to my sidebar?<\/h3><\/dt>\n<dd><p>Drop the <strong>WishOwl Wishlist<\/strong> widget into any sidebar via <strong>Appearance \u2192 Widgets<\/strong>, or insert the <strong>WishOwl Wishlist Widget<\/strong> block in the block editor, or use the <code>[wishowl_wishlist_widget]<\/code> shortcode anywhere shortcodes work (Elementor, theme builders, etc.).<\/p><\/dd>\n<dt id=\"how%20does%20price%20tracking%20work%3F\"><h3>How does price tracking work?<\/h3><\/dt>\n<dd><p>A WordPress cron job runs at your configured frequency (hourly, 6-hourly, or daily) and records a price snapshot for every product currently in a non-expired wishlist. When a customer views their wishlist, items whose current price is lower than the price-at-add show a \"Price drop\" badge. The same cron run powers the optional email notifications (see below).<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20emails%3F\"><h3>Does the plugin send emails?<\/h3><\/dt>\n<dd><p>Only if you turn them on. Email notifications are <strong>off by default<\/strong>. Under <strong>WooCommerce \u2192 Wishlist \u2192 Notifications<\/strong> you can enable any combination of three triggers \u2014 price drop, back in stock, and on sale \u2014 for items customers have wishlisted. Emails go to logged-in customers at their account address; guests can opt in with an email field on the wishlist page (also off by default), and that opt-in is <strong>double-confirmed<\/strong> \u2014 the address must click a verification link before any notification email is sent. A per-customer\/item\/trigger frequency cap (daily, weekly, or monthly) prevents repeat emails, and every email includes a one-click unsubscribe link plus a <code>List-Unsubscribe<\/code> header. There is a \"send test email\" button to verify your store's mail delivery before enabling.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is it compatible with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce's HPOS, the modern custom-tables order storage system.<\/p><\/dd>\n<dt id=\"is%20it%20elementor-compatible%3F%20block-editor%20compatible%3F\"><h3>Is it Elementor-compatible? Block-editor compatible?<\/h3><\/dt>\n<dd><p>Both. The shortcodes work inside Elementor templates, and the widget ships as a native Gutenberg block.<\/p><\/dd>\n<dt id=\"how%20does%20sharing%20a%20wishlist%20work%3F\"><h3>How does sharing a wishlist work?<\/h3><\/dt>\n<dd><p>Each wishlist has one of three privacy modes:<\/p>\n\n<ul>\n<li><strong>Private<\/strong>: only you can view. No share URL exists.<\/li>\n<li><strong>Shared<\/strong>: a long, unguessable token URL works for anyone with the link, but search engines are told not to index.<\/li>\n<li><strong>Public<\/strong>: same URL, plus the page is allowed to be indexed if the store admin has opted in.<\/li>\n<\/ul>\n\n<p>You can rotate the share link at any time, which invalidates the old URL.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wpml%20or%20polylang%3F\"><h3>Does it work with WPML or Polylang?<\/h3><\/dt>\n<dd><p>The plugin is translation-ready. Full WPML \/ Polylang compatibility hooks are planned for v1.1.<\/p><\/dd>\n<dt id=\"how%20do%20i%20migrate%20from%20yith%20or%20ti%20woocommerce%20wishlist%3F\"><h3>How do I migrate from YITH or TI WooCommerce Wishlist?<\/h3><\/dt>\n<dd><p>A migration tool is not included in v1.0. It's on the post-launch roadmap if there's demand. In the meantime, both the YITH and WishOwl tables can coexist while you transition.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20the%20wishlist%20page%20template%3F\"><h3>How do I customize the wishlist page template?<\/h3><\/dt>\n<dd><p>Copy any file from <code>wp-content\/plugins\/wishowl-wishlist\/public\/views\/<\/code> into <code>your-theme\/wishowl-wishlist\/<\/code> (preserving the filename). The plugin will load your theme's copy instead of its bundled template.<\/p><\/dd>\n<dt id=\"where%20is%20the%20data%20stored%3F\"><h3>Where is the data stored?<\/h3><\/dt>\n<dd><p>Four custom tables: <code>{prefix}wishowl_wishlists<\/code>, <code>{prefix}wishowl_wishlist_items<\/code>, <code>{prefix}wishowl_price_snapshots<\/code>, <code>{prefix}wishowl_email_log<\/code>. All scoped to your own database. The plugin integrates with WP's Personal Data Export and Erasure tools so customers can request a copy or deletion via <strong>Tools \u2192 Export \/ Erase Personal Data<\/strong>.<\/p><\/dd>\n<dt id=\"will%20uninstalling%20delete%20my%20data%3F\"><h3>Will uninstalling delete my data?<\/h3><\/dt>\n<dd><p>Yes. On full uninstall (delete, not deactivate), all four tables and the plugin options are removed. Deactivating preserves data so you can reactivate without loss.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>New: a small, one-time, dismissible review prompt appears on the WooCommerce \u2192 Wishlist screens after the plugin has been installed for 14 days and at least one wishlist exists. Three buttons \u2014 Review, Maybe later, Already reviewed \u2014 all permanently dismiss it.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: shared wishlist URLs now honor the <strong>Default layout<\/strong> setting on the Display tab \u2014 store owners can serve recipients a table view instead of the previous hardcoded grid. Recipients can also append <code>?view=table<\/code> or <code>?view=grid<\/code> to switch on the fly.<\/li>\n<li>New: theme-overridable template at <code>public\/views\/wishlist-shared.php<\/code>. Copy it into <code>your-theme\/wishowl-wishlist\/wishlist-shared.php<\/code> to fully customize the shared view (mirrors the existing override path for the owner view).<\/li>\n<li>Refactor: the share renderer now delegates to a real template instead of building markup inline, so future customization is a one-file override instead of a code patch.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: optional email notifications for wishlisted items \u2014 price drop, back in stock, and on sale. Off by default; enable per trigger under WooCommerce \u2192 Wishlist \u2192 Notifications.<\/li>\n<li>New: per-customer\/item\/trigger frequency cap (daily \/ weekly \/ monthly) to prevent repeat emails.<\/li>\n<li>New: one-click unsubscribe (link + <code>List-Unsubscribe<\/code> header) honored for guests and logged-in customers.<\/li>\n<li>New: guest opt-in email field on the wishlist page (off by default), so guests can receive notifications too. The opt-in is <strong>double-confirmed<\/strong> \u2014 guests must click a verification link before any notification email is sent, preventing anyone from subscribing addresses they don't own.<\/li>\n<li>New: \"send test email\" button to verify mail delivery before going live.<\/li>\n<li>Internal: schema migration adds guest-notification columns to the wishlists table; runs automatically on upgrade (no reactivation needed).<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Compatibility: tested against WordPress 7.0.<\/li>\n<li>Hardening: inline SVG icons are now escaped through <code>wp_kses()<\/code> with an explicit SVG allowlist instead of relying on a phpcs annotation.<\/li>\n<li>Hardening: <code>find_item()<\/code> query rewritten so the prepared statement is passed directly to <code>$wpdb-&gt;get_row()<\/code>.<\/li>\n<li>i18n: added <code>translators:<\/code> comments to all strings containing placeholders.<\/li>\n<li>i18n: removed the manual <code>load_plugin_textdomain()<\/code> call \u2014 WordPress.org loads the plugin's translations automatically.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Compliance: text domain renamed to <code>wishowl-wishlist-for-woocommerce<\/code> to match the plugin slug.<\/li>\n<li>Compliance: all inline <code>&lt;style&gt;<\/code> and <code>&lt;script&gt;<\/code> blocks moved to the WordPress enqueue API (<code>wp_add_inline_style()<\/code> \/ <code>wp_add_inline_script()<\/code>).<\/li>\n<li>Compliance: added the <code>Requires Plugins: woocommerce<\/code> header.<\/li>\n<li>Compliance: \"Powered by WishOwl\" link on the wishlist page is now opt-in (off by default).<\/li>\n<li>UX: Design tab ships with sensible \"secondary action\" padding defaults (0.5em \/ 1em) so the wishlist button reads as complementary to Add to Cart on opinionated themes. Disable the Override checkboxes to fall back to the theme's native padding.<\/li>\n<li>UX: Design-tab live preview card is now resizable (drag handle at the bottom) and minimizable. Preferences persist across visits via localStorage.<\/li>\n<li>Tested against WordPress 6.9.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: add\/remove buttons, full wishlist page, sidebar widget (classic + block + shortcode), guest wishlists, multiple wishlists per user, privacy modes with share-token rotation, variable product support, price tracking, GDPR personal-data export + erasure, HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Free, full-featured wishlist plugin for WooCommerce. Guest wishlists, multiple lists per user, shareable links, price tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/311821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=311821"}],"author":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wishowl1"}],"wp:attachment":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=311821"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=311821"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=311821"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=311821"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=311821"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=311821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}