WordPress按日期获取帖子,不带QUERY_POSTS

时间:2013-03-03 作者:Chozen

我想在侧边栏中获取过去30天的帖子,但我不想使用query\\u posts,有没有办法通过get posts功能实现这一点?

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

是的,只需在调用之前添加一个筛选器,然后删除它

function filter_where_wpa89154($where = \'\') {
    //posts in the last 30 days
    $where .= " AND post_date > \'" . date(\'Y-m-d\', strtotime(\'-30 days\')) . "\'";
    return $where;
}

add_filter(\'posts_where\', \'filter_where_wpa89154\');
$args = array(
    \'posts_per_page\'  => 5,
    \'post_type\'       => \'post\',
    \'post_status\'     => \'publish\',
    \'suppress_filters\' => false
); 
$posts = get_posts($args);
remove_filter(\'posts_where\', \'filter_where_wpa89154\');
请注意\'suppress_filters\' => false 这就是为什么get_posts

SO网友:Kode

从3.7开始,您可以使用date\\u查询http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

所以它看起来像:

$args = array(
    \'posts_per_page\'  => 5,
    \'post_type\'       => \'post\',
    \'post_status\'     => \'publish\',
    \'date_query\' => array(
        \'after\' => date(\'Y-m-d\', strtotime(\'-30 days\')) 
    ),
    \'suppress_filters\' => false
); 
$posts = get_posts($args);

结束

相关推荐

Identifying Importer Posts

如果一个站点有100篇帖子,其中有数量不详的帖子是手动编写的,其余的帖子是使用WordPress导入器创建的,那么在没有访问远程站点或原始导入文件的情况下,我如何以编程方式识别导入的帖子?E、 g.这篇文章是由进口商工具创建的吗?