WP Manifestindependent plugin directory
manifest / ecommerce / power-filter

Power Filter

Advanced filtering solution for WordPress and WooCommerce

by Power Filter Team · github.com/0000wei/power-filter · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/0000wei/power-filter/archive/refs/heads/main.zip

Advanced filtering solution for WordPress and WooCommerce

Power Filter is a powerful WordPress plugin that provides everything you need to filter any content by any criteria. Inspired by Filter Everything PRO, this plugin offers comprehensive filtering capabilities for your WordPress site.

Features

Core Filtering Features

  • ✅ Filter any post type (posts, pages, WooCommerce products, custom post types)
  • ✅ Unlimited filter sets
  • ✅ Filter by taxonomies (categories, tags, custom taxonomies)
  • ✅ Filter by custom fields (including ACF fields)
  • ✅ Filter by date, author, and search keywords
  • ✅ WooCommerce-specific filters (price, rating, stock status)

Filter Display Options

  • ✅ Checkboxes
  • ✅ Radio buttons
  • ✅ Dropdowns (select/multi-select)
  • ✅ Labels/Tags
  • ✅ Color swatches
  • ✅ Image swatches
  • ✅ Range sliders
  • ✅ Range inputs
  • ✅ Date range pickers
  • ✅ Star ratings

User Experience

  • ✅ AJAX filtering (instant results without page reload)
  • ✅ Multiple submission modes (auto or button click)
  • ✅ Active filter chips (breadcrumbs)
  • ✅ Built-in search box
  • ✅ Sorting widget
  • ✅ Horizontal or vertical layouts
  • ✅ Mobile-friendly with popup/drawer modes

SEO Features (NEW!)

  • ✅ SEO-friendly filter URLs
  • ✅ Custom page titles for filter pages
  • ✅ Meta descriptions
  • ✅ XML sitemap for filter pages
  • ✅ Canonical URLs
  • Schema.org structured data
  • Open Graph tags
  • Twitter Cards
  • Yoast SEO compatibility
  • Rank Math compatibility
  • Multilingual hreflang tags

Advanced Caching (NEW!)

  • ✅ Object Cache support
  • ✅ Transient-based caching
  • ✅ Cache statistics
  • ✅ Cache warming
  • ✅ Automatic cache invalidation
  • ✅ Group-based cache management

Elementor Integration (NEW!)

  • ✅ Filters widget
  • ✅ Results grid widget
  • ✅ Sorting widget
  • ✅ Active chips widget
  • ✅ Full Elementor styling controls

Developer Features

  • ✅ Shortcodes for easy integration
  • ✅ Widget support
  • ✅ Hooks and filters for customization
  • ✅ Import/Export filter sets
  • ✅ Duplicate filter sets
  • PHPUnit test suite

Installation

Manual Installation

  1. Download the plugin zip file
  2. Go to WordPress Admin > Plugins > Add New
  3. Click "Upload Plugin" and select the zip file
  4. Activate the plugin

Via FTP

  1. Upload the power-filter folder to /wp-content/plugins/
  2. Activate the plugin through the 'Plugins' menu in WordPress

Composer

composer require power-filter/power-filter

Usage

Creating a Filter Set

  1. Go to Filter Sets > Add New
  2. Enter a title for your filter set
  3. Select the post type to filter
  4. Add filters using the "Add Filter" button
  5. Configure each filter (type, source, view type, options)
  6. Configure display settings
  7. Save the filter set

Displaying Filters

Using Shortcodes

// Display filters
[power_filter set_id="123"]

// Display results
[power_filter_results set_id="123"]

// Display sorting
[power_filter_sorting set_id="123"]

// Display active filter chips
[power_filter_chips set_id="123"]

Using Widgets

  1. Go to Appearance > Widgets
  2. Drag "Power Filter" widget to your sidebar
  3. Select the filter set and configure options

Using Elementor

  1. Edit a page with Elementor
  2. Search for "Power Filter" widgets
  3. Drag and configure the widgets

Supported Filter Types

Type Description
Taxonomy Filter by categories, tags, or any custom taxonomy
Custom Field Filter by post meta/ACF fields
Date Filter by date ranges
Author Filter by post author
Search Keyword search
Sort Sorting options

View Types

View Best For
Checkboxes Multiple selections (categories, tags)
Radio Buttons Single selection (sort order)
Dropdown Space-saving, many options
Labels/Tags Visual selection, few options
Color Swatches Colors
Image Swatches Images/patterns
Range Slider Prices, numeric ranges
Rating Star ratings

WooCommerce Integration

Power Filter works seamlessly with WooCommerce:

  • Price filter - Built-in price range filtering
  • Rating filter - Filter by star ratings
  • Stock status - Show in-stock/out-of-stock
  • Product attributes - Filter by any WooCommerce attribute
  • Variation filtering - Filter by product variation values

Developer Hooks

Actions

// Before filter is applied
do_action('pf_before_filter', $set_id, $filters);

// After filter is applied
do_action('pf_after_filter', $set_id, $query);

Filters

// Modify filter types
add_filter('pf_filter_types', function($types) {
    $types['custom'] = 'Custom Filter';
    return $types;
});

// Modify query arguments
add_filter('pf_query_args', function($args, $set_id) {
    // Customize query
    return $args;
}, 10, 2);

Running Tests

# Install dependencies
composer install

# Run PHPUnit tests
composer test

# Run code linting
composer lint

# Fix code style issues
composer lint-fix

Frequently Asked Questions

Can I filter custom post types?

Yes! Power Filter supports any public post type, including custom post types.

Does it work with page builders?

Yes, you can use shortcodes with Elementor, Divi, WPBakery, and other page builders. Native Elementor widgets are also available.

Is it compatible with WooCommerce?

Yes, Power Filter has built-in WooCommerce support with special features for products.

Can I customize the appearance?

Yes, you can customize CSS or use template overrides in your theme.

Performance

  • Caching: Built-in object cache and transient support
  • Optimized queries: Batch SQL for filter counts
  • Lazy loading: AJAX pagination without full page reload
  • CSS/JS minification: Assets are optimized for production

Security

  • SQL injection protection: All queries use $wpdb->prepare()
  • XSS protection: Proper output escaping throughout
  • CSRF protection: Nonce verification on all forms
  • Input validation: Sanitization of all user inputs
  • Permission checks: Capability verification for admin actions

Changelog

1.0.0

  • Initial release
  • Core filtering functionality
  • WooCommerce integration
  • SEO features
  • Mobile support
  • Elementor integration
  • Advanced caching
  • Schema.org support

Credits

Developed based on the feature set of Filter Everything PRO.

License

GPL v2 or later

Support