plugin-icon

Pickory Product Filter

投稿者: zubaerhossain·
A fast, AJAX-powered WooCommerce product filter with flat product index, multi-currency support, and HPOS compatibility.
バージョン
1.0.0
最終更新日時
Jul 3, 2026

Pickory Product Filter is a WooCommerce filtering solution designed for performance, scalability, and flexibility. Pickory uses a flat product index for optimized filtering even on stores with 10,000+ products.

Why Pickory Product Filter?

Pickory uses a denormalized index table that stores the fields most commonly used for filtering in a single, optimized database table.

Key Features

Performance & Scalability: – Flat product index for fast filtering (no expensive postmeta scans) – Object cache integration (Redis/Memcached support) – Query response caching for logged-out users – REST API-based filtering with abortable requests – Debounced inputs for price slider and search

Filter Types: – Price range slider (dual-thumb) – Star rating filter – On Sale toggle – Category filter (checkboxes, radio, dropdown, button grid, search list) – Product tags – WooCommerce product attributes (color, size, brand, etc.) – Custom taxonomies – Multiple display types: checkboxes, radio buttons, dropdowns, swatches (color/image), button grids, toggles, search lists

User Experience: – AJAX-powered filtering (no page reload) – URL-addressable filters (shareable, bookmarkable) – Browser back/forward button support – Active filter chips with one-click removal – Multiple filter instances on same page (sidebar + mobile drawer) – Mobile-responsive drawer with smooth animations

Developer Features: – REST API with comprehensive endpoint – Shortcode: [pickory_product_filter] – Gutenberg block support – WordPress hooks for customization – Template override system – ES6 modular JavaScript architecture

Enterprise Compatibility: – HPOS (High-Performance Order Storage) compatible – Multi-currency support – WooCommerce 7.0+ compatibility – PHP 8.0+ optimized – Multisite compatible – Caching plugin friendly

Architecture

Pickory uses a hybrid SSR + CSR architecture:

  1. Initial Page Load: Server renders filtered products based on URL parameters
  2. AJAX Filtering: Client sends REST request, receives HTML fragments, updates DOM
  3. URL Sync: Browser URL updates with filter parameters (no reload)
  4. State Management: Global state object keeps filters, pagination, and sorting in sync

Developer Documentation

Shortcode Usage

[pickory_product_filter] — Default filter instance [pickory_product_filter instance_id="custom-id" class="custom-class"] — Custom instance

REST API Endpoint

GET /wp-json/pickory-filter/v1/products

Parameters: – page (int) — Current page – per_page (int) — Products per page (max: 100) – category (string) — Category slugs, comma-separated – product_tag (string) — Tag slugs, comma-separated – min_price (float) — Minimum price – max_price (float) — Maximum price – rating (float) — Minimum rating (1-5) – on_sale (string) — “1” for on sale only – filter_{attribute} (string) — Attribute slugs, comma-separated – orderby (string) — Sort field – order (string) — ASC or DESC – instance_id (string) — Filter instance ID

WordPress Hooks

Filters:ppfx_rest_max_per_page — Maximum products per REST request (default: 100) – ppfx_force_db_rate_limiting — Force rate limiting without object cache

Actions:ppfx_before_query_build — Before building WP_Query args – ppfx_after_query_build — After building WP_Query args – ppfx_index_sync_product — When syncing product to index

Template Override

Copy files from pickory-product-filter/templates/ to yourtheme/pickory-product-filter/.

CSS Classes

  • .ppfx-filter-container — Main filter wrapper
  • .ppfx-filter-form — Filter form element
  • .ppfx-products-wrapper — Product grid wrapper
  • .ppfx-active-filters — Active filter chips container
  • .ppfx-mobile-toggle — Mobile drawer toggle button

Privacy & Security

Pickory Product Filter does not collect personal data. It stores product index data and plugin settings only. No data is transmitted to third parties.

License

This plugin is licensed under GPL-2.0-or-later. Copyright (c) Pickory

無料有料プラン
インストールすることで、WordPress.com の利用規約サードパーティプラグイン利用規約に同意したことになります。
最大テスト回数
WordPress 7.0
このプラグインをダウンロードして、 サイトに使用できます。