- Help Center Home
- Getting started
- Introducing FacetWP
- Installation and updates
- FAQ
- How it works
- What are facets?
- Facet types
- Indexing
- Listing templates
- Extras & integrations
- Add-on features and extras
- Using FacetWP with …
- Built-in integrations
- Advanced Custom Fields
- WooCommerce
- SearchWP
- WP-CLI
- Add-on integrations
- Bricks
- Elementor
- Beaver Builder
- WP Recipe Maker and Tasty Recipes
- Relevanssi
- WPML and Polylang
- Pods
- Meta Box
- Flatsome (theme)
- External integrations
- Listify (theme)
- Listable (theme)
- WPGraphQL
- Document Library Pro
- Tips & tricks
- WooCommerce plugins
- WordPress multi-site
- WP All Import
- WebToffee Import Export
- WP Job Manager
- Easy Digital Downloads
- EDD Reviews
- Intuitive Custom Post Order
- Custom Taxonomy Order
- Post Types Order
- Genesis framework
- WP External Links
- ElasticPress
- Caching & hosting
- WP Rocket
- Cloudflare
- New Relic
- WP Engine
- Fast Velocity Minify
- Incompatibilities
- Incompatible plugins
- Troubleshooting
- Troubleshooting guide
- Using the right query
- Common issues
- Get support
- Developers
- Hooks reference
- JavaScript reference
- Shortcodes reference
- FacetWP REST API
- How FacetWP works
- The FacetWP URL
- FacetWP speed and limits
- Tutorials
- Code snippets
- Changelog
How to Add a “Has featured image?” Facet
First, create a new facet named has_image
.
Set its Data Source to “Post Type” (as a placeholder).
Then add the following code to your (child) theme’s functions.php file:
add_filter( 'facetwp_index_row', function( $params, $class ) {
if ( 'has_image' == $params['facet_name'] ) {
$post_id = (int) $params['post_id'];
$params['facet_value'] = ''; // by default, skip this row
if ( has_post_thumbnail( $post_id ) ) {
$params['facet_value'] = 1;
$params['facet_display_value'] = 'Yes';
}
}
return $params;
}, 10, 2 );
Make sure to re-index afterwards. If it works correctly, your facet will contain one choice (“Yes”). Clicking that choice will narrow the listing to only post items containing a featured image.