Frequently Asked Questions
Still no luck? Try searching, and also check out our interactive troubleshooter.
Requirements
FacetWP requires PHP 7.0+ (since FacetWP v4.0) and WordPress 5.0+ (fully compatible with 5.9.3).
No, FacetWP is a plugin for self-hosted WordPress installs.
Yes, FacetWP fully supports PHP 8.x.
The minimum supported version is PHP 7.0 (since FacetWP v4.0). The PHP Stats page helps us determine when to drop support for older PHP versions.
(Pre-) sales
We offer a free trial version, with the following limitations:
- A maximum of 2 facets will display on a page;
- A persistent admin notice will appear in the WP admin dashboard;
- We cannot provide any support.
No, we do not offer refunds. Please use our free trial to see if FacetWP is right for you.
See our Getting Started screencast. If the video doesn’t make sense to you, then you’ll probably need to find a developer to assist you.
We do not current offer paid implementation services. For custom development (site buildouts, design tweaks, other customizations) we recommend Codeable.io.
Features and integrations
Probably. There’s tens of thousands of themes out there. Tell us which theme, and we’ll try to figure out whether the theme is compatible.
FacetWP integrates with Elementor and Beaver Builder.
FacetWP does not officially integrate with Divi, WP Bakery, or Oxygen Builder. Your mileage may vary, but it’s not something we support.
On these non-supported builders, you could always try to use FacetWP’s built-in Listing Builder for the actual result listing.
Yes! FacetWP supports any plugin that uses post types to store products. WooCommerce, Easy Digital Downloads, and Jigoshop are all compatible.
One caveat: some page components (e.g. pagination and sorting) may need to be replaced with FacetWP facets for paging and sorting.
Yes! Professional licenses include the User Post Type plugin, allowing you to map users to a post type, and therefore filter users 🙂
FacetWP can be installed on sub-sites in a WordPress multi-site network setup. But FacetWP cannot filter across different sites.
Please also remember that each sub-site counts against your license’s site limit.
Licencing and updates
FacetWP will continue to work, but you will no longer receive plugin updates or support.
Troubleshooting
If using the CSS-based template approach, make sure that your facet shortcodes are outside of the facetwp-template
container element.
- Have you hit the “Re-index” button?
- Does a valid listing template exist on your page?
- Is your post type searchable (exclude_from_search = false)?
- Are there any javascript errors in your browser’s console?
- Turn on Debug Mode and make sure that FacetWP is using the right query.
- For some custom fields — like Pods relationship fields or serialized data — you may need to tell FacetWP’s indexer how to properly index the data.
FacetWP itself is exceedingly fast. It normally takes a fraction of a second to load results. However, every WordPress request (including AJAX) is only as fast as the slowest plugin.
AJAX requests are ignored by most caching plugins, so the load time you’re seeing with FacetWP is your server’s true speed.
If FacetWP takes a while to load, there’s likely a larger underlying issue. Make sure to disable any unnecessary plugins, and ensure that your server has sufficient resources.
We have a free Caching add-on that may help on high-traffic sites. Please read the installation instructions carefully, since it requires a few extra steps.
Some plugins and themes use JavaScript to modify the layout, load images, or apply animation effects. Some examples include masonry layouts, isotope, image lazy loading, and sliders. These scripts run on page load, but do not usually run after each FacetWP ajax refresh, meaning that they’ll likely need to be manually re-triggered within a facetwp-loaded event.
If you’re using a caching plugin, in general make sure that HTML minification and script deferring is disabled.
FacetWP has built-in support for WP Rocket.
Also, see our tips and tricks for using Cloudflare and Fast Velocity Minify.
FacetWP’s indexer includes built-in resume functionality. It should resume automatically after a minute or two, assuming you keep the FacetWP settings screen open.
If your site is behind a .htpasswd login, the indexer might be blocked from resuming. In these cases, you’ll need to pass the access credentials to FacetWP.
If your site is hosted on WP Engine, try adding the following line to wp-config.php:
define( 'WPE_GOVERNOR', false );
Technical
See this explanation on how to add headings above facets, and how to customize them.
See this explanation on how to hide empty facets.
How to hide the counts depends on the facet type and how general or specific you want to target facets to hide the counts for.
Facets with a dropdown UI type need a different approach than facets with checkboxes or radios. Some facets can have different UI types, so the method varies.
Hide counts for facets of type:
The Listable and Listify themes both have FacetWP integration that, at the time of writing, is incompatible with FacetWP 3.9.x.
Listable and Listify are using deprecated FacetWP functions, causing facets and the submit button on the homepage to malfunction.
Introduced in FacetWP v4.0 is the possibility to add more than one listing template to the same page.
Each listing template can have its own grid layout, styling, and query. But only one of them can be “dynamic” and will react to the facets on the page. The others have to be “static” listing templates and will not react to facets.
Alternatively, you could also add more than one custom query / post listing to the page (e.g. using WP_Query), but these also wouldn’t be tied to FacetWP filtering.
The values you enter in a facet’s “Value modifiers” field need to match the label of the value exactly.
For example, if you have a category called “Fall Collection”, the value entered in the “Value modifiers” field needs to be exactly that: Fall Collection
, including spaces and capitalization.
If you have not modified the facet values with output hooks like facetwp_facet_display_value, the quickest way to determine the labels is to look at the facet value labels themselves: the labels beside the checkbox or radio button, or the options in the dropdown. Make sure to check if capitalization is not changed with CSS, for example with text-transform: lowercase
.
No, FacetWP does not support infinite scroll, which is intentional.
Plugins that add any form of infinity load / infinite scroll will not work as expected.
The closest thing is the Pager facet, which has a pager type that generates a “load more” button, working similar to infinite scroll.
FacetWP was built with performance in mind. We’ve structured our data storage and have analyzed every query to make sure that it runs as efficiently as possible.
Ultimately, the speeds depends on your server, site setup, and amount of content. If your server is overloaded (i.e. too many heavy plugins) or underpowered, then obviously FacetWP won’t run at its peak. Other factors include:
- the total number of results in your listing
- the listing display itself (how efficient is the display of each result)
- the number of active facets on the page
- the facet types in use
We are occasionally asked whether FacetWP supports pretty URLs, e.g. /make/audi/model/a4/
instead of ?_make=audi&_model=a4
.
FacetWP only supports GET-based permalinks. “Pretty” permalinks quickly lose their appeal as more selections are made. Plus it may actually be bad for SEO, since search engines would see a bunch of different URLs with the same content.
That’s probably why most large eCommerce sites stick with GET-based permalinks 🙂
We use prefixes to prevent conflicts with WordPress and other plugins. WordPress has many reserved query vars, and strange things happen if FacetWP tries to use them.