web-dev-qa-db-ja.com

WP_Queryで先週の投稿を取得する

Wordpressのdate_queryを使って、私は先週の仕事(月曜日から金曜日)の投稿を得ようとしていました。

私が使っていた:

$base_array        = array(
    'posts_per_page'    => -1,
    'fields'            => 'ids',
    'post_type'         => 'cpt',
    'post_status'       => array('publish'),
    'date_query'        => array(
            'before'    => 'next Saturday',
            'after'     => 'last Monday'
    )
);

 $base = get_posts($base_array);

しかし、今日の木曜日はこれらの値を返します。

2016年10月31日から2016年10月28日まで

「最後の」日にはどちらが意味がありますか?しかし、先週の月曜日から先週の金曜日までを取得できる方法はありますか? WP_Queryが照会される日に関係なく。

1

さて、以下のコードを試してください -

$base_array        = array(
    'posts_per_page'    => -1,
    'fields'            => 'ids',
    'post_type'         => 'cpt',
    'post_status'       => array('publish'),
    'date_query'        => array(
            'after'     => strtotime( 'previous week Monday' ),
            'before'    => strtotime( 'previous week Friday' )
    )
);

$base = get_posts($base_array);

私はそれをテストしていません。しかし、私は以下のコードが完璧な日付を返すことをテストしました -

date('Y-m-d',strtotime('previous week Monday'));
date('Y-m-d',strtotime('previous week Friday'));

戻る -

2016-10-24と2016-10-28

1
CodeMascot