{"id":260358,"date":"2025-11-13T13:14:07","date_gmt":"2025-11-13T13:14:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nivo-ajax-search-for-woocommerce\/"},"modified":"2026-06-21T12:23:37","modified_gmt":"2026-06-21T12:23:37","slug":"nivo-ajax-search-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/nl.wordpress.org\/plugins\/nivo-ajax-search-for-woocommerce\/","author":20216392,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"NivoSearch \u2013 Ajax Search for WooCommerce","header_author":"Nazmun Sakib","header_description":"Professional live product search with AJAX functionality for WooCommerce stores","assets_banners_color":"6738b3","last_updated":"2026-06-21 12:23:37","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/nazmunsakib.com","header_plugin_uri":"https:\/\/nivosearch.com","header_author_uri":"https:\/\/nazmunsakib.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":673,"num_ratings":2,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"nazmunsakib","date":"2025-11-14 08:58:01"},"1.0.1":{"tag":"1.0.1","author":"nazmunsakib","date":"2025-11-25 17:32:42"},"1.0.3":{"tag":"1.0.3","author":"nazmunsakib","date":"2025-11-25 17:32:42"},"1.0.4":{"tag":"1.0.4","author":"nazmunsakib","date":"2025-11-28 12:43:13"},"1.0.5":{"tag":"1.0.5","author":"nazmunsakib","date":"2025-11-28 13:14:57"},"1.1.0":{"tag":"1.1.0","author":"nazmunsakib","date":"2025-12-24 16:10:25"},"1.1.1":{"tag":"1.1.1","author":"nazmunsakib","date":"2026-03-30 14:57:14"},"2.0.0":{"tag":"2.0.0","author":"nazmunsakib","date":"2026-06-21 09:56:17"},"2.0.1":{"tag":"2.0.1","author":"nazmunsakib","date":"2026-06-21 12:23:37"}},"upgrade_notice":{"2.0.0":"<p>Major update, adds add-to-cart, qty selector, stock badges, category badges, short descriptions, caching, and a redesigned result layout. Existing presets are automatically migrated. No manual action required.<\/p>","1.2.0":"<p>Stability and accessibility update. Existing presets are automatically migrated. No manual action required.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3395946,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3395946,"resolution":"256x256","location":"assets","locale":"","width":256,"height":255}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3395946,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3395946,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"nivo-search\/ajax-search":{"name":"nivo-search\/ajax-search","title":"Nivo Search"}},"tagged_versions":["1.0.0","1.0.1","1.0.3","1.0.4","1.0.5","1.1.0","1.1.1","2.0.0","2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3432738,"resolution":"1","location":"assets","locale":"","width":724,"height":610},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3432738,"resolution":"2","location":"assets","locale":"","width":724,"height":436},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3432738,"resolution":"3","location":"assets","locale":"","width":710,"height":664},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3432738,"resolution":"4","location":"assets","locale":"","width":640,"height":595}},"screenshots":{"1":"Live Ajax search results: product image, title, price, and SKU displayed as the user types","2":"Search preset list: unlimited presets with shortcode shown in the list view","3":"Preset configuration panel: search scope, display options, and styling in one screen","4":"Category and tag results displayed in dedicated sections above product results","5":"NivoSearch Settings page: Data and Privacy options"}},"plugin_section":[],"plugin_tags":[2109,5185,5183,286,5184],"plugin_category":[45],"plugin_contributors":[209721],"plugin_business_model":[],"class_list":["post-260358","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax-search","plugin_tags-live-search","plugin_tags-product-search","plugin_tags-woocommerce","plugin_tags-woocommerce-search","plugin_category-ecommerce","plugin_contributors-nazmunsakib","plugin_committers-nazmunsakib"],"banners":{"banner":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/banner-772x250.png?rev=3395946","banner_2x":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/banner-1544x500.png?rev=3395946","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/icon-128x128.png?rev=3395946","icon_2x":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/icon-256x256.png?rev=3395946","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/screenshot-1.png?rev=3432738","caption":"Live Ajax search results: product image, title, price, and SKU displayed as the user types"},{"src":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/screenshot-2.png?rev=3432738","caption":"Search preset list: unlimited presets with shortcode shown in the list view"},{"src":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/screenshot-3.png?rev=3432738","caption":"Preset configuration panel: search scope, display options, and styling in one screen"},{"src":"https:\/\/ps.w.org\/nivo-ajax-search-for-woocommerce\/assets\/screenshot-4.png?rev=3432738","caption":"Category and tag results displayed in dedicated sections above product results"}],"raw_content":"<!--section=description-->\n<p><strong>NivoSearch<\/strong> delivers a fast, lightweight <strong>WooCommerce Ajax search<\/strong> experience: instant product results appear as customers type, with no page reload required. Built for speed, conversion, and full customization, NivoSearch is a capable alternative to the slow default WooCommerce search.<\/p>\n\n<p>Give your customers a smooth <strong>live product search<\/strong> experience that keeps them engaged and moving toward checkout, without paying for a premium plugin.<\/p>\n\n<p><a href=\"https:\/\/nivosearch.com\/live-demo-woocommerce-product-search\/\">\u00bb Live Demo<\/a> | <a href=\"https:\/\/github.com\/nazmunsakib\/nivo-ajax-search-for-woocommerce\">\u00bb GitHub<\/a><\/p>\n\n<h4>Why Store Owners Choose NivoSearch<\/h4>\n\n<p><strong>\u26a1 Instant Ajax Search Results<\/strong>: Products appear in a scrollable dropdown as customers type. Real-time results with no page reload means faster discovery and fewer abandoned sessions.<\/p>\n\n<p><strong>\ud83d\uded2 Add to Cart from Search Results<\/strong>: Shoppers can add simple products directly from the search dropdown, complete with an optional quantity selector and instant mini-cart update. Variable products get a quick-link to their product page. Fewer clicks, more conversions.<\/p>\n\n<p><strong>\ud83d\udccb Rich Product Cards<\/strong>: Each result shows the product thumbnail, title, inline SKU, current price, short description, stock status badge, and category badges, all toggled per preset.<\/p>\n\n<p><strong>\ud83d\udd0d SKU Search<\/strong>: B2B stores and repeat customers find products instantly by SKU. Supports exact and partial SKU matching alongside title and description search.<\/p>\n\n<p><strong>\ud83d\udcc2 Category &amp; Tag Search<\/strong>: Matching product categories and tags appear in dedicated sections above product results, helping customers browse and discover related products.<\/p>\n\n<p><strong>\ud83d\uddc2\ufe0f Unlimited Search Presets<\/strong>: Create separate search bars for your header, footer, sidebar, or any page. Each preset has its own search scope, display settings, and styling, deployed via shortcode or Gutenberg block.<\/p>\n\n<p><strong>\u26a1 Cached for Speed<\/strong>: Search results are cached with auto-invalidation on product edits, so repeat queries are served in milliseconds without hitting the database.<\/p>\n\n<p><strong>\ud83c\udf0d Multilingual &amp; Global Ready<\/strong>: Translation-ready with a .pot file included. Compatible with WPML, Polylang, and TranslatePress.<\/p>\n\n<p><strong>\ud83d\udee0\ufe0f Developer-Friendly<\/strong>: 14+ PHP hooks and filters, 8 JavaScript events, PSR-4 autoloading, nonce-secured AJAX endpoints. Clean, well-documented architecture built to extend.<\/p>\n\n<h4>WooCommerce Ajax Search Features<\/h4>\n\n<p><strong>Search Capabilities<\/strong><\/p>\n\n<ul>\n<li>Real-time Ajax product search on every keystroke<\/li>\n<li>Search by product title, short description, description, and SKU<\/li>\n<li>Category and tag search with dedicated result sections<\/li>\n<li>Exclude out-of-stock products from results<\/li>\n<li>Configurable minimum character threshold<\/li>\n<li>Configurable results limit per preset<\/li>\n<li>Configurable search delay (debounce) per preset<\/li>\n<\/ul>\n\n<p><strong>Display Options (per preset)<\/strong><\/p>\n\n<ul>\n<li>Product thumbnail with lazy loading<\/li>\n<li>Product title with keyword highlighting<\/li>\n<li>Inline SKU display (right of title)<\/li>\n<li>Current selling price<\/li>\n<li>Short description excerpt<\/li>\n<li>Stock status badge: In Stock, Out of Stock, On Backorder<\/li>\n<li>Category badges on each result<\/li>\n<li>Add-to-cart button (AJAX) with optional quantity selector<\/li>\n<li>Instant mini-cart fragment update after add-to-cart<\/li>\n<li>\"View All Results\" sticky footer link<\/li>\n<li>Separate sections for matching categories and tags<\/li>\n<\/ul>\n\n<p><strong>Unlimited Search Presets<\/strong><\/p>\n\n<ul>\n<li>Unlimited presets stored as a native WordPress custom post type<\/li>\n<li>Independent search scope, display settings, and styling per preset<\/li>\n<li>Shortcode: <code>[nivo_search id=\"123\"]<\/code><\/li>\n<li>Gutenberg block with visual preset selector<\/li>\n<li>Color picker for search bar and results panel<\/li>\n<li>Custom CSS class support via shortcode attributes<\/li>\n<\/ul>\n\n<p><strong>Performance &amp; Reliability<\/strong><\/p>\n\n<ul>\n<li>Transient-cached Ajax responses (5-minute TTL, auto-invalidated)<\/li>\n<li>Single optimized WP_Query per request<\/li>\n<li>Target response time under 200ms<\/li>\n<li>Database migration system for safe zero-downtime updates<\/li>\n<li>Preset data preserved on plugin deletion by default (opt-in cleanup)<\/li>\n<li>WooCommerce HPOS compatible<\/li>\n<\/ul>\n\n<p><strong>Developer Features<\/strong><\/p>\n\n<ul>\n<li>PSR-4 autoloading via Composer<\/li>\n<li>14+ WordPress actions and filters<\/li>\n<li>8 JavaScript custom events<\/li>\n<li>Nonce-secured Ajax endpoints<\/li>\n<li>Translation-ready, .pot file included<\/li>\n<li>WPML and Polylang compatible<\/li>\n<li>Inline PHPDoc documentation throughout<\/li>\n<\/ul>\n\n<h4>Coming Soon<\/h4>\n\n<ul>\n<li><strong>Fuzzy search &amp; typo tolerance<\/strong>: finds \"iPhon\" and returns \"iPhone\"<\/li>\n<li><strong>Synonym expansion<\/strong>: \"phone\" finds \"mobile,\" \"smartphone\"<\/li>\n<li><strong>GTIN \/ UPC \/ EAN \/ ISBN<\/strong> search support<\/li>\n<li><strong>Product attribute search<\/strong><\/li>\n<li><strong>Custom index engine (Pro)<\/strong>: sub-100ms on 100,000+ product catalogs<\/li>\n<li><strong>REST API endpoints (Pro)<\/strong>: headless WooCommerce search<\/li>\n<li><strong>Template overrides (Pro)<\/strong>: full HTML control over result items<\/li>\n<li><strong>Search analytics dashboard (Pro)<\/strong><\/li>\n<\/ul>\n\n<h4>Compatibility<\/h4>\n\n<ul>\n<li><strong>Themes:<\/strong> Storefront, Astra, OceanWP, Flatsome, Hello Elementor, WoodMart, Kadence, GeneratePress, and all standard WooCommerce-compatible themes<\/li>\n<li><strong>Page builders:<\/strong> Gutenberg, Elementor, Beaver Builder, WPBakery<\/li>\n<li><strong>Caching:<\/strong> WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache<\/li>\n<li><strong>Multilingual:<\/strong> WPML, Polylang, TranslatePress, translation-ready (.pot file included)<\/li>\n<li><strong>WooCommerce:<\/strong> HPOS compatible, supports variable products, grouped products, and external products<\/li>\n<\/ul>\n\n<h3>Quick Start<\/h3>\n\n<ol>\n<li>Go to <strong>NivoSearch &gt; Search Presets &gt; Add New<\/strong><\/li>\n<li>Set your results limit, minimum characters, and placeholder text<\/li>\n<li>Choose what to search: title, SKU, description, categories, tags<\/li>\n<li>Choose what to display: images, price, SKU, descriptions<\/li>\n<li>Customize colors and sizing using the built-in style controls<\/li>\n<li>Click <strong>Publish<\/strong>, your shortcode is generated automatically<\/li>\n<li>Paste <code>[nivo_search id=\"123\"]<\/code> into any page, post, widget, or template<\/li>\n<\/ol>\n\n<h3>Developer Hooks<\/h3>\n\n<h4>PHP Filters<\/h4>\n\n<pre><code>nivo_search_args: Modify search query arguments before execution.\nnivo_search_results: Modify the full results array before the JSON response.\nnivo_search_result_item: Modify an individual product result item.\nnivo_search_shortcode_html: Override the complete shortcode HTML output.\nnivo_search_localize_data: Modify the JavaScript localization data object.\nnivo_search_should_enqueue_assets: Return false to conditionally skip asset loading.\nnivo_search_typo_corrections: Register a custom typo correction map (array of misspelling to correction).\nnivo_search_synonyms: Register synonym groups (array of term to array of synonyms).\n<\/code><\/pre>\n\n<h4>JavaScript Events<\/h4>\n\n<pre><code>nivo_search:init: Search widget initialized.\nnivo_search:beforeSearch: Fired before an Ajax request is sent.\nnivo_search:resultsDisplayed: Fired after results are rendered in the dropdown.\nnivo_search:noResults: Fired when the search returns zero products.\nnivo_search:error: Fired when an Ajax error occurs.\nnivo_search:resultsCleared: Fired when the results dropdown is cleared.\nnivo_search:focus: Fired when the search input receives focus.\nnivo_search:blur: Fired when the search input loses focus.&lt;h3&gt;Developer&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>NivoSearch is developed and maintained by <a href=\"https:\/\/nazmunsakib.com\">Nazmun Sakib<\/a>.<\/p>\n\n<p><a href=\"https:\/\/github.com\/nazmunsakib\/nivo-ajax-search-for-woocommerce\">\u00bb GitHub<\/a><\/p>\n\n<p>Privacy: NivoSearch collects no user data, sends no external analytics, and is 100% GPL-licensed.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation (Recommended)<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for <strong>NivoSearch<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Go to <strong>NivoSearch &gt; Search Presets &gt; Add New<\/strong><\/li>\n<li>Configure your preset settings and styling<\/li>\n<li>Copy the generated shortcode and paste it anywhere on your site<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP from WordPress.org<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Upload the ZIP file and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin and go to <strong>NivoSearch &gt; Search Presets<\/strong><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20nivosearch%20replace%20the%20default%20woocommerce%20search%3F\"><h3>Does NivoSearch replace the default WooCommerce search?<\/h3><\/dt>\n<dd><p>No. NivoSearch adds a separate Ajax search widget deployed via shortcode or Gutenberg block. The default WooCommerce search continues to work normally alongside it.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20the%20search%20bar%20to%20my%20site%3F\"><h3>How do I add the search bar to my site?<\/h3><\/dt>\n<dd><p>Create a preset under <strong>NivoSearch &gt; Search Presets &gt; Add New<\/strong>, then copy its shortcode (e.g. <code>[nivo_search id=\"5\"]<\/code>) and paste it into any page, post, widget area, or theme template file. You can also insert the NivoSearch Gutenberg block directly in the block editor.<\/p><\/dd>\n<dt id=\"can%20i%20create%20multiple%20search%20bars%20with%20different%20settings%3F\"><h3>Can I create multiple search bars with different settings?<\/h3><\/dt>\n<dd><p>Yes, unlimited presets is a core feature. Create as many as you need, each with its own search scope, display options, colors, and sizing. Common use cases: a compact header search, a full-width homepage search bar, and a sidebar widget.<\/p><\/dd>\n<dt id=\"does%20it%20support%20fuzzy%20search%20and%20typo%20correction%3F\"><h3>Does it support fuzzy search and typo correction?<\/h3><\/dt>\n<dd><p>Fuzzy search and typo correction are on the roadmap and coming in a future release. Currently NivoSearch performs exact and partial keyword matching across title, description, excerpt, and SKU.<\/p><\/dd>\n<dt id=\"can%20customers%20add%20products%20to%20the%20cart%20directly%20from%20search%20results%3F\"><h3>Can customers add products to the cart directly from search results?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch includes an AJAX add-to-cart button inside the search results dropdown. Simple products can be added without leaving the page, with an optional quantity selector. Variable products get a chevron link directly to their product page to choose options. The WooCommerce mini-cart updates instantly after adding.<\/p><\/dd>\n<dt id=\"does%20it%20search%20by%20sku%3F\"><h3>Does it search by SKU?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch supports both exact and partial SKU matching. GTIN, UPC, EAN, and ISBN search are on the roadmap for a future release.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>NivoSearch uses scoped CSS classes prefixed with <code>nivo-<\/code> to prevent styling conflicts. It has been tested with Storefront, Astra, OceanWP, Flatsome, Hello Elementor, WoodMart, Kadence, and GeneratePress. For any styling conflict, override the styles using <code>.nivo-search-*<\/code> CSS selectors or add a custom CSS class via the <code>container_class<\/code> shortcode attribute.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20multilingual%20plugins%3F\"><h3>Is it compatible with multilingual plugins?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch is fully translation-ready and ships with a <code>.pot<\/code> file. It is compatible with WPML, Polylang, and TranslatePress.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is it compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch is fully compatible with WooCommerce High-Performance Order Storage (HPOS).<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20presets%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my presets if I delete the plugin?<\/h3><\/dt>\n<dd><p>By default, all your presets and settings are preserved when you delete the plugin, reinstalling restores everything instantly. To perform a complete clean removal, enable <strong>Delete all data on uninstall<\/strong> in <strong>NivoSearch &gt; Settings<\/strong> before deleting.<\/p><\/dd>\n<dt id=\"is%20nivosearch%20gdpr%20compliant%3F\"><h3>Is NivoSearch GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch collects no user data, sends no data to external servers, and contains no tracking scripts. It is 100% self-hosted and GPL-licensed.<\/p><\/dd>\n<dt id=\"can%20developers%20extend%20nivosearch%3F\"><h3>Can developers extend NivoSearch?<\/h3><\/dt>\n<dd><p>Yes. NivoSearch provides 14+ PHP filters and actions, 8 JavaScript events, nonce-secured Ajax endpoints, and PSR-4 autoloading via Composer. See the Developer Hooks section above for the complete reference.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>FIX: Short description trimmed to meet WordPress.org 150-character limit<\/li>\n<li>FIX: Removed em dashes throughout readme for better compatibility<\/li>\n<li>FIX: Restored live demo link in description<\/li>\n<li>FIX: Replaced arrow symbols in admin menu paths with standard \"&gt;\" notation<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>NEW: Add-to-cart button directly in search results, AJAX-powered with instant WooCommerce mini-cart fragment update<\/li>\n<li>NEW: Quantity selector in search results (configurable per preset)<\/li>\n<li>NEW: Variable product support, chevron icon links to product page to select options<\/li>\n<li>NEW: Stock status badge: In Stock, Out of Stock, On Backorder per result<\/li>\n<li>NEW: Category badges on each product result<\/li>\n<li>NEW: Short description shown immediately below product title in results<\/li>\n<li>NEW: Current selling price shown per result (no crossed-out regular\/sale HTML clutter)<\/li>\n<li>NEW: SKU displayed inline next to product title<\/li>\n<li>NEW: Transient caching for Ajax search responses (5-min TTL, auto-invalidated on product\/preset edits)<\/li>\n<li>NEW: \"View All Results\" sticky footer link always visible at the bottom of the results panel<\/li>\n<li>NEW: Admin settings page updated, accurate feature list, preset settings reference, new Key Features section<\/li>\n<li>IMPROVED: Compact two-column result layout, left column (title, description, badges), right column (price, qty, cart)<\/li>\n<li>IMPROVED: Search results panel is now a scrollable flex container, footer link never scrolls away<\/li>\n<li>IMPROVED: SKU, short description, and category badge font size increased to 12px for legibility<\/li>\n<li>REMOVED: Star ratings removed from results and settings (cleaner UI)<\/li>\n<li>FIX: Double add-to-cart bug when quantity selector was used<\/li>\n<li>FIX: Mini-cart not updating after AJAX add-to-cart (now uses WooCommerce jQuery fragment events)<\/li>\n<li>FIX: Settings checkboxes (category badge, add-to-cart, qty selector) not taking effect, cache invalidation and missing default keys resolved<\/li>\n<li>FIX: Price\/qty\/cart wrapping to separate lines, now grouped as a single right-side flex unit<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>FIX: Activation race condition, default preset now reliably created on fresh install<\/li>\n<li>FIX: Deactivation hook now correctly flushes rewrite rules<\/li>\n<li>FIX: Shortcode <code>container_class<\/code>, <code>input_class<\/code>, and <code>results_class<\/code> attributes now applied to rendered HTML<\/li>\n<li>FIX: Duplicate clear button, suppressed browser-native X icon on <code>type=\"search\"<\/code> inputs<\/li>\n<li>NEW: Database migration system for safe, zero-downtime plugin updates<\/li>\n<li>NEW: Safe uninstall, preset data is preserved by default when the plugin is deleted<\/li>\n<li>NEW: \"Data &amp; Privacy\" settings card with opt-in data deletion toggle<\/li>\n<li>IMPROVED: <code>aria-label<\/code> on search input and <code>aria-live<\/code> on results panel for screen readers<\/li>\n<li>IMPROVED: Submit button restored for keyboard navigation and accessibility users<\/li>\n<li>IMPROVED: Default preset now pre-populated with all current settings keys on fresh install<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Compatibility: Verified with WordPress 6.8 and WooCommerce 9.0<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>NEW: Unlimited search presets with independent styling and logic<\/li>\n<li>NEW: Enhanced Gutenberg block with live preset selection<\/li>\n<li>UPDATED: Improved shortcode parsing<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>UPDATED: Plugin name clarification for WordPress.org compliance<\/li>\n<li>UPDATED: Gutenberg block registration improvements<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Instant Ajax product search for WooCommerce. Real-time results, add-to-cart from search, rich product cards, SKU lookup, unlimited presets.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/260358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=260358"}],"author":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nazmunsakib"}],"wp:attachment":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=260358"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=260358"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=260358"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=260358"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=260358"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=260358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}