为ID设置WP_Query参数

问题描述 投票:0回答:2

我想使用如下设置的参数设置WP_Query,加上“WHERE ID> $ post_id”(特定的帖子ID)。请告知如何将此WHERE子句添加到$ arg设置中?非常感谢。

$args = array (
            'cat'              => $category_id,
            'nopaging'               => false,
            'posts_per_page'         => '5',
            'order'                  => 'DESC',
            'orderby'                => 'ID'
            );

$query = new WP_Query( $args );
wordpress
2个回答
0
投票

如果你想查询“所有帖子的ID高于X”,我认为你需要这样做:

$post_ids = range(25, 50); //we need an array of post IDs

$args = [
'posts_per_page' => 25, // if you want to limit/paginate the query
'post__in' => $post_ids
];

$posts = get_posts($args);

这将查询包含的ID 25到50的所有帖子。如果要查询的ID范围非常大,分页可能很有用。 source

请注意,这不会生成WHERE SQL子句,而是生成WHERE IN。为了获得真正的MySQL WHERE,我认为你将使用自定义SQL查询,因为WP_Query没有在帖子ID上提供很多运算符。


0
投票

oops,没有看到>符号你可以使用post__in和帖子ID,如上面的@Mtxz所述

'post__in' => array( )
© www.soinside.com 2019 - 2024. All rights reserved.