如何通过WP_Query限制获取项目的数量

时间:2015-11-03 21:40:01

标签: php wordpress

'posts_per_page'不限制WP_Query将获取的项目数。 哪个是好的,但是我需要找到一种方法,如何在获取3个项目之后使用某些限制或打破类似属性来破坏WP_Query。我有很多项目并且要获取3个项目,它会获得我数据库中的所有1000多个项目,这最终会减慢页面的速度。

知道如何限制查询只获取3而不是db中的所有项目吗?

for(ArrayList<Integer> row : myList) {

  for(Integer intValue : row) {

     // access "row" for inside arraylist or "intValue" for integer value.

  }

}

2 个答案:

答案 0 :(得分:2)

found_posts返回与查询参数匹配的帖子总数。

post_count返回显示的帖子总数。我相信你想做的是:

$booksNumber  = $the_query->post_count;

如果这不起作用,我会尝试使用get_posts代替WP_Query

$postslist = get_posts($args);
$booksNumber = count($postslist);

答案 1 :(得分:-1)

您似乎只使用了一个元查询,因此请尝试使用 get_posts

通常情况下,我建议使用WP_Query,但我可以看到它是如何混淆的。如果您运行以下代码,您将看到更像您期望的内容:

$args = array(
    'post_type' => 'books',
    'meta_key' => 'book_state',
    'meta_value' => 'sold',
    'posts_per_page' => 3,
);
$posts = get_posts($args);
echo count($posts);
var_dump($posts);