我必須腦死亡,我不知道如何獲得$wp_query
的所有帖子,以便我可以爲搜索結果創建窗口小部件過濾器。
$wp_query->posts
只給我要顯示在列表中的帖子,所以,如果posts_per_page
設置爲10,我只會得到10個帖子。我需要它們,以便我可以對它們進行排序,並根據搜索結果中的所有帖子顯示過濾器。
任何想法?
我必須腦死亡,我不知道如何獲得$wp_query
的所有帖子,以便我可以爲搜索結果創建窗口小部件過濾器。
$wp_query->posts
只給我要顯示在列表中的帖子,所以,如果posts_per_page
設置爲10,我只會得到10個帖子。我需要它們,以便我可以對它們進行排序,並根據搜索結果中的所有帖子顯示過濾器。
任何想法?
將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
}
是的,但是會顯示頁面上的所有帖子。我想保持分頁。但我也希望能夠爲結果提供過濾器。 –
但是,您無法通過相同的WP_Query來完成此操作,您需要爲此設置單獨的WP_Query。 –
好的,謝謝!我會嘗試執行另一個查詢。 –
顯示基於從搜索結果中的所有帖子的過濾器。
<?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;
?>
您可以嘗試使用:http://generatewp.com/wp_query/ –