The FacetWP Polylang Add-On (often bundled within the “Multilingual” add-on) is an essential bridge for websites that need to combine advanced faceted filtering with a multilingual setup. Without it, FacetWP may struggle to “see” which content belongs to which language, leading to mixed results or broken filters.
This is EXACTLY the same product as distributed by the developer. Sales Page
Core Specifications
-
Plugin Name: FacetWP Multilingual (supports both Polylang and WPML)
-
Current Version: ~1.0.1 (as of early 2026)
-
Requirements: * FacetWP 4.0+ (Recommended)
-
Polylang (Free or Pro)
-
PHP 7.4+ (to match FacetWP core requirements)
-
-
License: Included with both FacetWP Basic and Professional plans.
Key Features & Functionality
The add-on doesn’t just “translate” the filters; it changes how FacetWP interacts with the database to ensure language-specific accuracy.
-
Language-Aware Indexing: When you re-index, the add-on ensures that posts are associated with their specific Polylang language code.
-
Accurate Facet Counts: It dynamically updates the numbers next to your filters (e.g., Blue (5)) to reflect only the items available in the currently active language.
-
UI String Translation: It allows you to translate “in-database” strings that Polylang’s standard string translation might miss, such as facet labels, placeholder text, and “See More” buttons.
-
AJAX Synchronization: When a user switches languages, the AJAX-powered filters automatically refresh to point to the correct translated content without a full page reload.
Implementation Requirements
To get the most out of this integration, your WordPress setup must follow these rules:
| Feature | Requirement |
| Post Types | Must be set to “Only show translated items” in Polylang settings. |
| Taxonomies | Every category/tag used in a facet must have a translation in every active language. |
| URL Structure | Supports sub-directories (/fr/) and sub-domains (fr.site.com), but generally does not support the ?lang=fr URL parameter. |
| Fallback Content | Using “Fallback to default language” is discouraged as it causes duplicate terms to appear in facets. |
Technical Tip: The facetwp_i18n Hook
For developers, the add-on works closely with the facetwp_i18n filter. If you have unique UI strings that aren’t showing up in Polylang’s string translation, you can manually map them in your functions.php:
add_filter( 'facetwp_i18n', function( $string ) {
if ( isset( FWP()->facet->http_params['lang'] ) ) {
$lang = FWP()->facet->http_params['lang'];
// Example: Translate "Color" to French "Couleur"
if ( 'fr' == $lang && 'Color' == $string ) {
return 'Couleur';
}
}
return $string;
});
- Categories: WordPress Plugins
- Tags: FacetWP
