Shop Page Views

Replace the default WooCommerce shop catalog with a saved CelerSearch View. Instead of the native product loop plus the auto-injected filter bar, the shop page runs a full View — instant search, your custom-built facets (color swatches, range sliders, pills…), and AJAX pagination.

A WooCommerce shop page replaced by a CelerSearch View with color, rating, stock, and size facets beside product cards
A WooCommerce shop page powered by a View — live facets, sorting, product cards, and add-to-cart actions working together.

Setup

  1. Create a View on your products index (CelerSearch → Views) and design its facets — see the Facet Builder.
  2. Go to Settings → Search Areas and edit (or add) the WooCommerce Shop Browse area.
  3. Enable Replace shop page with a View, pick your View, and choose whether to also apply to category/tag archives.
  4. Save. The shop page now renders the View.

What Changes

  • The native product loop is replaced. The main product query is skipped entirely — products come from a single search-engine request made by the View. No double querying.
  • The filter bar steps aside. The auto-injected Shop Filters bar disables itself wherever the View is active; the View's facets are the filter UI.
  • Your theme still frames the page. The template preserves WooCommerce's wrapper hooks (woocommerce_before_main_content / woocommerce_after_main_content), the archive title via woocommerce_page_title(), the archive description, and the sidebar hook — so the page keeps your theme's shop layout.

Category & Tag Archives

With include archives on, product_cat / product_tag (and attribute) archives run the same View scoped to the term. The scoping uses the indexed hierarchical path, so a parent category like Accessories matches every product in its subtree, not just products directly assigned to it. The archive context is fixed — it doesn't appear as a removable filter pill, and clearing filters never unscopes the archive.

Product Result Cards

A product View has a Product cards setting (Views editor → Display Options) with two styles:

  • Theme (WooCommerce native) — the default. Products render as your theme's own content-product shop-loop card, server-rendered per page, so they look identical to the rest of your store and fire the same WooCommerce loop hooks other plugins rely on. This is almost always what you want when a View replaces the shop page.
  • Plugin (custom cards) — CelerSearch's own lightweight card (image with sale badge, title, star rating, sale-aware price, add-to-cart), drawn client-side. Useful on non-WooCommerce themes, or when you want a card that doesn't inherit theme styling.

Either way, WooCommerce data is attached to each hit via the celersearch_view_search_hit filter (price_html, on_sale, rating_html, add_to_cart_url, stock_status).

Override the plugin card markup from your theme:

Text
your-theme/celersearch/views/search/result-item-product.php

Extra placeholders over the standard result item: {{price_html}}, {{rating_html}}, {{add_to_cart_url}}, {{stock_status}}, and the {{#on_sale}}…{{/on_sale}} conditional block. (Theme-native cards come from your theme's content-product.php, so customize those the WooCommerce way.)

Template Escape Hatch

Themes that replace archive-product.php wholesale (instead of using WooCommerce's wrapper hooks) can swap the page template:

PHP
add_filter('celersearch_shop_view_template', function ($path) {
    return get_stylesheet_directory() . '/celersearch/shop-view.php';
});

SEO Notes

  • Faceted URLs (any cs_f_ / cs_r_ / cs_b_ parameter) are marked noindex, follow to keep crawl budget on the clean URLs.
  • The clean shop and archive URLs keep their normal indexability and canonical tags.

Client-rendered catalog

The View fetches and renders products in the browser, so the initial HTML doesn't contain the product list (the filter-bar approach keeps a server-rendered page 1). If server-rendered product markup on the shop page matters to you, stick with Shop Page Filters — both are fully supported.

Next Steps