帖子-按ID显示除帖子外的所有帖子

时间:2015-10-16 作者:nsilva

我希望能够显示除最新帖子外的所有帖子,我正在执行以下操作:-

$last = wp_get_recent_posts( \'1\');
$last_id = $last[\'0\'][\'ID\'];

echo $last_id; //1477

$args = array(\'posts_per_page\' => 5,
              \'post__not_in\'   => array($last_id),
);

$recent_posts = get_posts(\'numberposts=10&exclude=\'. $post_id .\'"\');

if($recent_posts) { ?>
    <ul>
        <?php foreach( $recent_posts as $recent ) { ?>
        <li>
        <a href="<?php echo get_permalink($recent->ID); ?>"><?php echo $recent->post_title; ?></a>
        </li>
        <?php } ?>
    </ul>
<?php } ?>
$last_id 包含最新帖子的正确值,但代码仍显示十篇最新帖子,不排除任何内容。

有什么想法吗?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这里有几个问题

IIRC,exclude 应该是ID的数组,如exclude 传递给WP_Querypost_not_in

您正在定义不使用的参数。你可以直接把它传给get_posts. 请记住,中的所有参数WP_Query 按原样提供给get_postsget_posts 使用WP_Query

您只需使用\'offset\' => 1, 跳过最近的帖子。您在此处运行的是完全不必要的查询,这会降低页面速度

您可以尝试以下方法

$args = [
    \'posts_per_page\' => 5,
    \'offset\' => 1
];
$recent_posts = get_posts( $args );

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?