WordPress:如何在搜索结果中获取来自$wp_query的所有帖子?

2022-08-30 18:26:19

我一定是脑死的,我不知道如何从中获取所有帖子,以便我可以为搜索结果创建一个小部件过滤器。$wp_query

$wp_query->posts只给我将在列表中显示的帖子,所以,如果设置为10,我只得到10个帖子。我需要它们,以便我可以对它们进行排序,并根据搜索结果中的所有帖子显示过滤器。posts_per_page

有什么想法吗?


答案 1

将 args 中的posts_per_page参数设置为 -1,这将返回表wp_posts的所有帖子。例如

$args = array(
    'posts_per_page'   => -1,
    'post_type'        => 'post',
);
$the_query = new WP_Query( $args );

现在,您可以循环访问并获取帖子

while ( $the_query->have_posts() ) {
  // go ahead
}

答案 2

根据搜索结果中的所有帖子显示筛选器。

     <?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;
  ?>

推荐