Overview

This filter lets you customize which posts get indexed. You have access to the Query Arguments array that gets passed to WP_Query.

Parameters

  • $args | array | An array of WP_Query arguments (see below)

How to use custom PHP code?

PHP code can be added to your (child) theme's functions.php file. Alternatively, you can use the Custom Hooks add-on, or a code snippets plugin. More info

$args = [ 'post_type' => 'any', 'post_status' => 'publish', 'posts_per_page' => -1, 'fields' => 'ids', ];

Usage examples

Force indexing of non-searchable post types

FacetWP by default only indexes so-called “searchable” post types. To be “searchable”, the exclude_from_search argument of the register_post_type() function must be set to false. You can do this directly in the function’s arguments, or with a hook.

But you may want to keep a post type non-searchable, to prevent these posts from showing up in the front-end WordPress search results. With this hook, it’s possible to force FacetWP to index and filter post types that are non-searchable.

For example, to force the wprm_recipe post type to be indexed, even though it’s non-searchable, add the following code to your (child) theme’s functions.php:

How to use custom PHP code?

PHP code can be added to your (child) theme's functions.php file. Alternatively, you can use the Custom Hooks add-on, or a code snippets plugin. More info

add_filter( 'facetwp_indexer_query_args', function( $args ) { $args['post_type'] = (array) get_post_types(); $args['post_type'][] = 'wprm_recipe'; return $args; });

Index attachments

By default, FacetWP only indexes, displays and filters “published” items, meaning posts that have their post_status set to publish. This excludes attachments (like media and PDFs), which are posts that have their post_status automatically set to inherit.

By using this hook, it is possible to force FacetWP to index the attachment post type for all facets. Add the code following to your (child) theme’s functions.php, and then click the re-index button:

How to use custom PHP code?

PHP code can be added to your (child) theme's functions.php file. Alternatively, you can use the Custom Hooks add-on, or a code snippets plugin. More info

add_filter( 'facetwp_indexer_query_args', function( $args ) { $args['post_status'] = [ 'publish', 'inherit' ]; return $args; });

Note that indexing attachments is not enough to display attachments in your post listing. See this article for more info about filtering and displaying attachments, media and PDFs.

If you are using SearchWP, see our SearchWP page for additional options to search within attachments/PDFs.

More examples

See also