我的所有模板都使用以下内容来显示给定类别中的所有帖子:
<ul>
<?php $posts = get_posts('category_name=jobs'); foreach($posts as $post) { ?>
<li><a href="<?php the_permalink() ?>" target="_parent"><?php the_title(); ?></a>
</li>
<?php } ?>
</ul>
然而,上面的模板代码只显示了"工作"类别中最近的5个帖子。有超过5个要显示,并且它们确实有"已发布"状态。
任何想法?
get_posts有可以编辑的默认值
<?php $args = array(
'posts_per_page' => 5,
'offset' => 0,
'category' => '',
'orderby' => 'post_date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'post',
'post_mime_type' => '',
'post_parent' => '',
'post_status' => 'publish',
'suppress_filters' => true ); ?>
查看更多:http://codex.wordpress.org/Template_Tags/get_posts
希望有所帮助
试着这样修改你的代码:
$posts = get_posts ( array ( 'category_name' => 'jobs', 'posts_per_page' => -1));
使用-1
将显示所有帖子。您可以将其更改为另一个正整数,以限制您返回的帖子。
get_posts
和get_pages
是一种混乱,在我的经验。有时查看get_posts和get_pages的文档有助于了解它们都能做什么——有时菜单上有帖子而不是页面——但有时它实际上在两个地方都能工作。
在本例中,get_pages
文档告诉我们关于number
参数的信息:
(integer)设置要列出的页数。这会导致要定义的SQL LIMIT值。默认为无限制。这个参数是2.8版添加。注意: get_posts()使用参数
numberposts
而不是number
。
在撰写本文时,get_posts
文档中唯一提到numberposts
的地方如下:
注意: 'numberposts'和'posts_per_page'可以互换使用。
图。
无论如何,你有它——numberposts
。
如果你想要10个帖子…:
get_posts('category_name=jobs&numberposts=10')