WordPress如何展示特定时间段内发布的文章。这仅仅是一个基础查询问题,是一定可以实现的。大家可能第一想到的就是query_posts这个方法,但网上写这个方法的参考大多是一些基础查询,而针对这种较为“冷门”的并没有太多回答。其实使用WP_Query类我们轻松就能查询到。 日期相关参数 和文章日

WordPress如何展示特定时间段内发布的文章。这仅仅是一个基础查询问题,是一定可以实现的。大家可能第一想到的就是query_posts这个方法,但网上写这个方法的参考大多是一些基础查询,而针对这种较为“冷门”的并没有太多回答。其实使用WP_Query类我们轻松就能查询到。

日期相关参数

和文章日期有关的查询,有 9 个参数:
year(整数):4 位数的年份,比如 2014
monthnum(整数):月份,从 1 到 12
w(整数):周,从 0 到 53
day(整数):日,从 1 到 31
hour(整数):小时,从 0 到 23
minute(整数):分钟,从 0 到 60
second(整数):秒,从 0 到 60
m(整数):年月,比如 201409
date_query(数组):复杂的日期查询
year(整数):4 位数的年份,比如 2014
month(整数):月份,从 1 到 12
week(整数):周,从 0 到 53
day(整数):日,从 1 到 31
hour(整数):小时,从 0 到 23
minute(整数):分钟,从 0 到 59
second(整数):秒,从 0 到 59
before(字符串 | 数组):开启查询日期,可以是能被 strtotime() 函数解析的日期字符串,还可以使用数组:
year(整数):4 位数的年份,比如 2014,默认为空
month(整数):月份,从 1 到 12,默认是 1
day(整数):日,从 1 到 31,默认是 1
after(字符串 | 数组):结束查询日期,可以是能被 strtotime() 函数解析的日期字符串,还可以使用数组:
year(整数):4 位数的年份,比如 2014,默认为空
month(整数):月份,从 1 到 12,默认是 12
day(整数):日,从 1 到 31,默认是本月最后一天
inclusive(布尔):before 和 after 是否包含所指定本日的文章
compare(字符串):使用什么比较符号(=、!=、>、>=、<、<=、IN、NOT IN、BETWEEN、NOT、BETWEEN) column(字符串):匹配的日期字段,默认是 post_date relation(字符串):条件的逻辑关系,OR(或者)或 AND(和)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//获取 2012 年 12 月 12 日的文章
$query = new WP_Query( ‘year=2012&monthnum=12&day=12’ );
//或
$args = array(
    ‘date_query’ => array(
        array(
            ‘year’  => 2012,
            ‘month’ => 12,
            ‘day’   => 12,
        ),
    ),
);
$query = new WP_Query( $args );
//获取今天发布的文章
$today = getdate();
$query = new WP_Query( ‘year=’ . $today[‘year’] . ‘&monthnum=’ . $today[‘mon’] . ‘&day=’ . $today[‘mday’] );
//或者
$today = getdate();
$args = array(
    ‘date_query’ => array(
        array(
            ‘year’  => $today[‘year’],
            ‘month’ => $today[‘mon’],
            ‘day’   => $today[‘mday’],
        ),
    ),
);
$query = new WP_Query( $args );

获取本周发布的文章

1
2
3
$week = date( ‘W’ );
$year = date( ‘Y’ );
$query = new WP_Query( ‘year=’ . $year . ‘&w=’ . $week );

或者

1
2
3
4
5
6
7
8
9
$args = array(
    ‘date_query’ => array(
        array(
            ‘year’ => date( ‘Y’ ),
            ‘week’ => date( ‘W’ ),
        ),
    ),
);
$query = new WP_Query( $args );

获取上午 10 点到下午 6 点的文章

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$args = array(
    ‘date_query’ => array(
        array(
            ‘hour’      => 10,
            ‘compare’   => ‘>=’,
        ),
        array(
            ‘hour’      => 18,
            ‘compare’   => ‘<=’,
        ),
        array(
            ‘dayofweek’ => array( 2, 6 ),
            ‘compare’   => ‘BETWEEN’,
        ),
    ),
    ‘posts_per_page’ => 1,
);
$query = new WP_Query( $args );

获取 2013 年 1 月 1 日到 2013 年 2 月 18 日的文章
包含 2013 年 1 月 1 日和 2013 年 2 月 18 日的文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$args = array(
    ‘date_query’ => array(
        array(
            ‘after’     => ‘January 1st, 2013’,
            ‘before’    => array(
                ‘year’  => 2013,
                ‘month’ => 2,
                ‘day’   => 28,
            ),
            ‘inclusive’ => true,
        ),
    ),
    ‘posts_per_page’ => 1,
);
$query = new WP_Query( $args );

不包含 2013 年 1 月 1 日和 2013 年 2 月 18 日的文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$args = array(
    ‘date_query’ => array(
        array(
            ‘after’     => ‘January 1st, 2013’,
            ‘before’    => array(
                ‘year’  => 2013,
                ‘month’ => 2,
                ‘day’   => 28,
            ),
            ‘inclusive’ => false,
        ),
    ),
    ‘posts_per_page’ => 1,
);
$query = new WP_Query( $args );

获取在一年前发布却在一个月前修改过的文章

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$args = array(
    ‘date_query’ => array(
        array(
            ‘column’ => ‘post_date_gmt’,
            ‘before’ => ‘1 year ago’,
        ),
        array(
            ‘column’ => ‘post_modified_gmt’,
            ‘after’  => ‘1 month ago’,
        ),
    ),
    ‘posts_per_page’ => 1,
);
$query = new WP_Query( $args );
温馨提示:本文最后更新于 2023-12-09 15:46 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系QQ115904045
声明:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:115904045@qq.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA打赏
共{{data.count}}人
人已打赏
wordpress教程

WordPress调试查询耗时打印

2023-12-9 15:46:16

wordpress教程

WordPress用WP_Query分页

2023-12-9 15:46:18

  • 0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索

    夕阳无别事,等风也等你

    联系我们