web-dev-qa-db-ja.com

今週(日曜日から土曜日)の投稿を取得します

今週から投稿を取得しようとしています。

<?php 
    $args = array(
        'date_query' => array(
            array(
                'year' => date( 'Y' ),
                 'week' => date( 'W' ),
            ),
        ),
        'post_type' => 'stars', 'posts_per_page' => 99, 'order' => 'DEC',
    );
    $loop = new WP_Query( $args );
?>

このコードは 月曜日から日曜日までの投稿を取得しています (私の週の開始日は一般設定では「月曜日」です。)しかし、週の開始日を「 日曜日 」に変更した場合一般的な設定では、上記のコードは投稿を取得していません。

this codex を参照したところ、 this MySQL関数 に導かれました。しかし、私はそれを私のクエリにどのように実装するかわからない。

何か案は?

1
Libin

あなたが試すことができます:

'date_query' => array(
    array(
        'year' => date( 'Y' ),
        'week' => strftime( '%U' ),
    ),
 ),

ここで、 %U は次のとおりです。

最初の週として最初の日曜日から始まる、指定された年の週番号

または

'date_query' => array(
    array(
        'after' => strtotime( 'last Sunday' ),
    ),
 ),
2
birgire

新しい週が始まっていて、WordPressが先週の日曜日(昨日)から土曜日に投稿しようとしているのかもしれません。

先週の投稿のみが必要な場合は、代わりに過去7日間の投稿を取得してみてください。このような。

$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
            'after' => '7 days ago'
        )
    ),
    'post_type' => 'stars',
    'posts_per_page' => '99',
    'order' => 'DEC',
    'ignore_sticky_posts' => 1
);

$new_query = new WP_Query ( $args );
0
Robert hue