In a plugin, I have this simple code:
add_filter( 'the_posts', 'process_search_results', 10, 2 );
function process_search_results($posts, $query=false) {
print_r($posts);
return $posts;
}
This shows the list of posts that will be looped over in the loop. But on a search page, an empty array (Array()
) is printed, while the search results are still shown. Why is $posts
empty for searches?
Some background: I'll try to code a custom search plugin that should merge results from an external data source into the default results.
the_posts
. So changing the filter priority from 10 to 20 gives me the post list even on search pages. How embarrassing ...