global $post;
$cat1=get_cat_ID('test1');
$cat2=get_cat_ID('test2');
$myrecentposts = get_posts(array('post_not_in' => get_option('sticky_posts'), 'cat' => "-$cat1,-$cat2",'showposts' => 5));
$myrecentposts2 = get_posts(array('post_not_in' => get_option('sticky_posts'), 'cat' => "-$cat1,-$cat2"));
$myrecentpostscount = count($myrecentposts2);
echo $myrecentpostscount;
回声的值为5(正确的值应为9)。我可以让它返回正确的后计数值的唯一方法是更改$ myrecentposts2计算,如下所示......
$myrecentposts2 = get_posts(array('post_not_in' => get_option('sticky_posts'), 'cat' => "-$cat1,-$cat2",'showposts' => 999));
答案 0 :(得分:17)
Wordpress codex表示get_posts
的默认posts_per_page
值为5
。
要删除此限制,请使用 posts_per_page = -1
。
要删除此限制,您可以使用nopaging = true
。
答案 1 :(得分:7)
查看get_posts()
documentation on Codex,您可以看到要显示的帖子数量的参数:
参数为:'posts_per_page'
用法:'posts_per_page'=> -1 // for removing the limit
。这将获取所有帖子。
更新:'nopaging' => true
是推出更新版本的方式
答案 2 :(得分:0)
此外,自WP 2.9(或甚至2.8)以来,不再使用showposts,只要您试图控制返回的帖子数量,就会使用posts_per_page。