wp_get_archives按范围过滤:本月,上个月/今年,去年

时间:2017-07-10 09:22:19

标签: php wordpress custom-post-type archive

我使用自定义帖子类型的wp_get_archives如下:

  <?php $args = array(
        'post_type'    => 'donation',
        'type'         => 'yearly',
        'limit'        => '1',
        'echo'         => 0
    );
    echo '<ul>'.wp_get_archives($args).'</ul>'; ?>

有没有办法按相对日期范围过滤: 1)本周 2)上周 3)今年 4)去年

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:1)

有办法做到这一点。您可以使用以下过滤器来实现它,添加。

过滤 getarchives_where

参考代码x: https://developer.wordpress.org/reference/hooks/getarchives_where/

示例代码:

add_filter('getarchives_where', 'customFunction');
function customFunction($where, $args){
    //Add any specific post type check if required
    $startDate = date('Y');
    $endDate = date('Y', strtotime('+1 year'));
        $where.= ' AND `post_date` BETWEEN ' . $startDate . ' AND '.$endDate.'';

    return $where;

}