If you are unexpectedly missing one (and only one) post in a listing that uses a WP archive or custom WP_Query, you are probably adding an extra the_post() somewhere in your template code, or it is in the wrong place.

The WP function the_post() checks if the loop has started and then sets the current post by moving, each time, to the next post in the queue. This means that the_post() must be placed within the loop (within the while() part) and should be used only once in your template.

For the correct use in a WP archive, see this example, and for a custom WP_Query, see this example.

Another reason for a missing post could be that the query has an offset query argument. If this is intentional: using an offset query argument does not work with FacetWP-enabled queries. See this page for workarounds.

See also

Last updated: June 11, 2025