NivoSearch – Ajax Search for WooCommerce
NivoSearch – Ajax Search for WooCommerce

NivoSearch – Ajax Search for WooCommerce

5/5 (2 ratings) 10 active installs Updated Jun 21, 2026
Live Ajax search results: product image, title, price, and SKU displayed as the user types

Live Ajax search results: product image, title, price, and SKU displayed as the user types

NivoSearch delivers a fast, lightweight WooCommerce Ajax search 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.

Give your customers a smooth live product search experience that keeps them engaged and moving toward checkout, without paying for a premium plugin.

» Live Demo | » GitHub

Why Store Owners Choose NivoSearch

⚡ Instant Ajax Search Results: Products appear in a scrollable dropdown as customers type. Real-time results with no page reload means faster discovery and fewer abandoned sessions.

🛒 Add to Cart from Search Results: 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.

📋 Rich Product Cards: Each result shows the product thumbnail, title, inline SKU, current price, short description, stock status badge, and category badges, all toggled per preset.

🔍 SKU Search: B2B stores and repeat customers find products instantly by SKU. Supports exact and partial SKU matching alongside title and description search.

📂 Category & Tag Search: Matching product categories and tags appear in dedicated sections above product results, helping customers browse and discover related products.

🗂️ Unlimited Search Presets: 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.

⚡ Cached for Speed: Search results are cached with auto-invalidation on product edits, so repeat queries are served in milliseconds without hitting the database.

🌍 Multilingual & Global Ready: Translation-ready with a .pot file included. Compatible with WPML, Polylang, and TranslatePress.

🛠️ Developer-Friendly: 14+ PHP hooks and filters, 8 JavaScript events, PSR-4 autoloading, nonce-secured AJAX endpoints. Clean, well-documented architecture built to extend.

WooCommerce Ajax Search Features

Search Capabilities

  • Real-time Ajax product search on every keystroke
  • Search by product title, short description, description, and SKU
  • Category and tag search with dedicated result sections
  • Exclude out-of-stock products from results
  • Configurable minimum character threshold
  • Configurable results limit per preset
  • Configurable search delay (debounce) per preset

Display Options (per preset)

  • Product thumbnail with lazy loading
  • Product title with keyword highlighting
  • Inline SKU display (right of title)
  • Current selling price
  • Short description excerpt
  • Stock status badge: In Stock, Out of Stock, On Backorder
  • Category badges on each result
  • Add-to-cart button (AJAX) with optional quantity selector
  • Instant mini-cart fragment update after add-to-cart
  • “View All Results” sticky footer link
  • Separate sections for matching categories and tags

Unlimited Search Presets

  • Unlimited presets stored as a native WordPress custom post type
  • Independent search scope, display settings, and styling per preset
  • Shortcode: [nivo_search id="123"]
  • Gutenberg block with visual preset selector
  • Color picker for search bar and results panel
  • Custom CSS class support via shortcode attributes

Performance & Reliability

  • Transient-cached Ajax responses (5-minute TTL, auto-invalidated)
  • Single optimized WP_Query per request
  • Target response time under 200ms
  • Database migration system for safe zero-downtime updates
  • Preset data preserved on plugin deletion by default (opt-in cleanup)
  • WooCommerce HPOS compatible

Developer Features

  • PSR-4 autoloading via Composer
  • 14+ WordPress actions and filters
  • 8 JavaScript custom events
  • Nonce-secured Ajax endpoints
  • Translation-ready, .pot file included
  • WPML and Polylang compatible
  • Inline PHPDoc documentation throughout

Coming Soon

  • Fuzzy search & typo tolerance: finds “iPhon” and returns “iPhone”
  • Synonym expansion: “phone” finds “mobile,” “smartphone”
  • GTIN / UPC / EAN / ISBN search support
  • Product attribute search
  • Custom index engine (Pro): sub-100ms on 100,000+ product catalogs
  • REST API endpoints (Pro): headless WooCommerce search
  • Template overrides (Pro): full HTML control over result items
  • Search analytics dashboard (Pro)

Compatibility

  • Themes: Storefront, Astra, OceanWP, Flatsome, Hello Elementor, WoodMart, Kadence, GeneratePress, and all standard WooCommerce-compatible themes
  • Page builders: Gutenberg, Elementor, Beaver Builder, WPBakery
  • Caching: WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache
  • Multilingual: WPML, Polylang, TranslatePress, translation-ready (.pot file included)
  • WooCommerce: HPOS compatible, supports variable products, grouped products, and external products

Quick Start

  1. Go to NivoSearch > Search Presets > Add New
  2. Set your results limit, minimum characters, and placeholder text
  3. Choose what to search: title, SKU, description, categories, tags
  4. Choose what to display: images, price, SKU, descriptions
  5. Customize colors and sizing using the built-in style controls
  6. Click Publish, your shortcode is generated automatically
  7. Paste [nivo_search id="123"] into any page, post, widget, or template

Developer Hooks

PHP Filters

nivo_search_args: Modify search query arguments before execution.
nivo_search_results: Modify the full results array before the JSON response.
nivo_search_result_item: Modify an individual product result item.
nivo_search_shortcode_html: Override the complete shortcode HTML output.
nivo_search_localize_data: Modify the JavaScript localization data object.
nivo_search_should_enqueue_assets: Return false to conditionally skip asset loading.
nivo_search_typo_corrections: Register a custom typo correction map (array of misspelling to correction).
nivo_search_synonyms: Register synonym groups (array of term to array of synonyms).

JavaScript Events

nivo_search:init: Search widget initialized.
nivo_search:beforeSearch: Fired before an Ajax request is sent.
nivo_search:resultsDisplayed: Fired after results are rendered in the dropdown.
nivo_search:noResults: Fired when the search returns zero products.
nivo_search:error: Fired when an Ajax error occurs.
nivo_search:resultsCleared: Fired when the results dropdown is cleared.
nivo_search:focus: Fired when the search input receives focus.
nivo_search:blur: Fired when the search input loses focus.<h3>Developer</h3>

NivoSearch is developed and maintained by Nazmun Sakib.

» GitHub

Privacy: NivoSearch collects no user data, sends no external analytics, and is 100% GPL-licensed.