I must be brain dead, I can't figure out how to get ALL posts from the $wp_query
so that I can create a widget filter for the search results.
$wp_query->posts
only gives me the posts that are going to be displayed in the list, so, if posts_per_page
is set to 10, I only get 10 posts. I need them all so I can sort them and display a filter based on all posts from the search results.
Any ideas?
Set posts_per_page parameter in args to -1, this will return all posts from wp_posts table. for example
$args = array(
'posts_per_page' => -1,
'post_type' => 'post',
);
$the_query = new WP_Query( $args );
Now you can loop through and get posts
while ( $the_query->have_posts() ) {
// go ahead
}
Display a filter based on all posts from the search results.
<?php
/*pass your search string here example like this ( 's'=>'test' ) */
$args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));
$query=new WP_Query($args);
if( $query->have_posts()):
while( $query->have_posts()): $query->the_post();
{
echo $post->post_title;
echo $post->post_content;
}
endwhile;
else:
endif;
?>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.