Wordpress 使用WP_Query()查询较新的帖子,在WHERE过滤器中使用帖子ID?

Wordpress 使用WP_Query()查询较新的帖子,在WHERE过滤器中使用帖子ID?,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我想知道是否有一种方法可以使用WP_查询(get_posts等)返回ID大于所提供ID的帖子 我浏览过WordPress codex,错过了查询与帖子ID相关的帖子的任何参考,如果没有自定义查询的话 由于无法通过参数传递它,我尝试编写一个修改过滤器的方法,但似乎也不起作用 add_filter( 'posts_where', 'filter_since_id'); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) :

我想知道是否有一种方法可以使用WP_查询(get_posts等)返回ID大于所提供ID的帖子

我浏览过WordPress codex,错过了查询与帖子ID相关的帖子的任何参考,如果没有自定义查询的话

由于无法通过参数传递它,我尝试编写一个修改过滤器的方法,但似乎也不起作用

add_filter( 'posts_where', 'filter_since_id');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    // Do Stuff
endwhile;
remove_filter('posts_where' , 'filter_since_id');


澄清,以便路过的人可以抓住并离开:

add_filter( 'posts_where', 'filter_since_id');

function filter_since_id($where = ''){
    $where .= " AND ID > 3";
    return $where;
}

这里的posts_where filter应该为您工作,但是为什么您有一个尾随的单引号$其中,=“和ID>3';应为$where.=“且ID>3”;哎呀。出现单引号是因为我用3.替换了一个变量。。但这让我想到了另一个打字错误,谢谢你的快速回答/帮助。
add_filter( 'posts_where', 'filter_since_id');

function filter_since_id($where = ''){
    $where .= " AND ID > 3";
    return $where;
}