After creating a facet, you'll need to place it on the page by pasting its shortcode into either a widget, a "Shortcode" block (via the WP Editor), or into a PHP template file.
Learn more »
A template is
required; it's how FacetWP determines which facet choices to display.
Learn more »
After adding facets, click the
Re-index
button. Indexing is the process of storing facet data into a custom database table for fast lookups. Without this step, your facets won't display any choices.
Your post type needs to be searchable (
exclude_from_search = false
), otherwise FacetWP will ignore it.
Learn more »
If so, add
define( 'WPE_GOVERNOR', false );
to your site's wp-config.php file.
If so, clear your site cache then (temporarily) disable all relevant plugins. Caching sometimes causes loading issues with javascript, especially if
script deferring is enabled.
If using Cloudflare,
see this tutorial.
One of those errors may be preventing FacetWP from loading properly. Please contact your developer, or
open a support ticket mentioning the specific error message you see.
To open the console, right click anywhere on your front-end facet page and select "Inspect Element". Then click the "Console" tab if it isn't already active.
As a last resort, we need to rule out any possible issues caused by 3rd party plugins. Try (temporarily) disabling all non-essential plugins.
Essential plugins are ones like
ACF, CPT UI, and WooCommerce (the base plugin). The more plugins you can rule out, the better.
If so, FacetWP could be
detecting the wrong query, so the next step involves using Debug Mode to see which query FacetWP is using.
If the issue happens on
archive pages and your site has caching enabled, it's also possible that the
fwp-loop
HTML comment tag -- which FacetWP requires -- is getting stripped out. Make sure your caching plugin is set to
not remove HTML comments.
If so, FacetWP isn't able to find a suitable query. Make sure you're using a
supported Template.
By default, FacetWP does
not pass authentication data to the server.
If your listing depends on
current_user_can()
,
is_user_logged_in()
or similar authentication checks, you will need to
use this hook to include authentication data.
To open the console, right click anywhere on your front-end facet page and select "Inspect Element". Then click the "Network" tab and select "XHR".
Below are some common response codes:
200
- Success
401
- Unauthorized (maybe due to a site lockdown or .htpasswd?)
403
- Forbidden (blocked by a firewall or service like Sucuri?)
404
- Not Found (is the REST API disabled?)
5XX
- Server errors (often a PHP fatal error or server ran out or memory. check your web server's PHP error log for clues)
Make sure you've added
"facetwp" => true
to the query arguments.
Also check to see if this is an
archive page (look for an "archive" class on the <body> tag). For archive pages, we strongly recommend
modifying the archive query, instead of creating your own.
Elementor and Beaver Builder are the only builders we
officially support at this time.
Please make sure you've installed our
Elementor integration add-on, and followed its setup guide.
Also, if you're using Elementor on an archive page, make sure to use the "Archive Posts" module instead of "Posts".
Please make sure you've installed our
Beaver Builder integration add-on, and followed its setup guide.
Also, if you're using Beaver Builder on an archive page, make sure your listing module's
Query
setting is set to "Main Query".
While we don't yet officially support Oxygen, try manually adding the CSS class
facetwp-template
to the container element surrounding your listing grid. According to some customers, this works well when using Oxygen on existing archive pages.
Please open a support ticket (Settings > FacetWP > Support, within your site dashboard). Make sure that
Debug Mode
is turned ON.
Debug Mode provides extra helpful information about queries, facets, etc.
FacetWP is likely
not detecting the right query, and debug mode can help determine
why. Follow the instructions further down on this page to use debug mode.
If everything else works fine, it could be that the
facetwp-template
CSS class isn't in the right spot. FacetWP will only modify content
inside this container element.
Learn more »If you're using WooCommerce, try
adding this code into your (child) theme's functions.php.
If your layout looks different after an
ajax refresh (but not on hard-refresh), then it could be due to a javascript-based layout or enhancement script, such as Isotope, Masonry, or Lazy Load.
Your options are to either disable the problemetic plugin/feature (e.g. Jetpack's "Lazy Load" feature), or to re-trigger the javascript within a custom
facetwp-loaded event.
Learn more »
Debug Mode helps with debugging by providing additional low-level information. Turn on Debug Mode via FacetWP’s Settings tab, then hit “Save changes”.
When Debug Mode is enabled, FacetWP adds extra data into the browser console. To access it, go to a front-end page with facets, open your browser’s inspector, go to the Console tab and type FWP.settings.debug
: