【问题标题】:Using WP_Query() to query newer posts, using post ID in the WHERE filter?使用 WP_Query() 查询较新的帖子,在 WHERE 过滤器中使用帖子 ID?
【发布时间】:2015-10-13 23:25:31
【问题描述】:

我想知道是否有办法使用 WP_Query(get_posts 等)返回 ID 大于提供的 ID 的帖子。

我已经浏览了 WordPress 法典,并错过了任何关于查询与帖子 ID 相关的帖子的参考,如果它甚至可以在没有自定义查询的情况下进行的话。

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

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

...

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

【问题讨论】:

  • posts_where 过滤器应该在这里为你工作,但为什么你有一个尾随单引号? $where .=" AND ID > 3'";应该是 $where .= " AND ID > 3";
  • 糟糕。存在单引号是因为我用 3. 替换了一个变量。但这指出我另一个错字,感谢您的快速回答/帮助。

标签: wordpress wordpress-theming


【解决方案1】:

澄清,以便经过的人可以抓住并走:

add_filter( 'posts_where', 'filter_since_id');

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2013-07-04
    • 2021-07-01
    相关资源
    最近更新 更多