QUERY_POST 5 POST第一个/最后一个POST_ID

时间:2016-10-21 作者:DinhTv

我有列表帖子id:1到100

如何:

在里面post_id=50 显示列表post_id=51,52,53,54,55list post_id=45,46,47,48,49 按类别post_id=50

有什么想法帮我吗!谢谢

1 个回复
SO网友:CodeMascot

这里我为您编写了一个函数。它将返回一系列帖子。您需要使用is作为wpse_243452_get_posts_by_ids( 50, 5, false ) 如果你需要下一个X posts然后只传递第二个参数作为整数,即需要多少个posts,然后传递true. 如果你之前X 然后将最后一个参数更改为false. 在这里X 等于$num.

这是您的功能-

function wpse_243452_get_posts_by_ids( $post_id, $num, $next = true ) {
    $ids = [];
    if ( $next ) {
        for ( $i = 0; $i < 5; $i++ ) {
            $ids[] = $post_id;
            $post_id++;
        }
    } else {
        for ( $i = 0; $i < 5; $i++ ) {
            $ids[] = $post_id;
            $post_id--;
        }
    }
    $args = [
        \'post__in\' => $ids
    ];
    $ids = array_filter($ids, function ($x) use ($num) { return $x < $num; });
    $posts = get_posts($args);
    return $posts;
}
获得帖子后,您可以运行foreach 循环并装饰您的帖子。