Wordpress模板只显示最近的5篇文章


Wordpress template only showing most recent 5 posts

我的所有模板都使用以下内容来显示给定类别中的所有帖子:

<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_postsget_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')