4

このクエリを実行して投稿を印刷しています。動作しますが、現在の投稿または将来公開される投稿のみを表示するようにシステムに指示するパラメーターを追加したいと思います。

クエリは次のとおりです。

$today = getdate();
$year=$today["year"];
$month=$today["mon"];
$day=$today["mday"];

query_posts( $query_string.'order=ASC' .
             '&post.status=future,publish' .
             '&year='.$year .
             '&monthnum='.$month
);

私はそのようなことをしようとしまし&post.date = <= $todayたが、それはうまくいきませんでした。

どうか、誰か教えてもらえますか?

私の考えは、公開日が今日または今日より「少ない」投稿のみを表示するようにクエリに指示することです。だから" <= "です。

4

3 に答える 3

2
$future_args = array(
    'post_status' => 'future'
    // possibly further query arguments
);

$today = getdate();
$today_args = array(
    'year' => $today['year'],
    'monthnum' => $today['mon'],
    'day' => $today['mday'] 
    // possibly further query arguments
);

$future_query = new WP_Query( $future_args );
$today_query = new WP_Query( $today_args );

while ( $today_query->have_posts() ) :
    $today_query->the_post();
    // echo something
endwhile;
wp_reset_postdata();

while ( $future_query->have_posts() ) :
    $future_query->the_post();
    // echo something
endwhile;
wp_reset_postdata();

それはそれをするべきです。

参照については、WP_Queryクラスのコーデックスの記事を参照してください。

于 2013-03-25T00:51:39.163 に答える
2

今後の投稿は管理者または作成者のみが表示できることをご存知ですか?非メンバーへの今後の投稿タイトルをすべて一覧表示したかったのですが、管理者としてログインしていない限り、「future」をクエリすると、クエリは常に0件の投稿を返します。

返された0の結果の配列のvarダンプを実行すると、設定されていないさまざまな設定が見つかり、1つのsuppress_filtersが目に留まったので、1(true)に設定すると目的の結果が得られました。

したがって、この問題を抱えている人は誰でも解決策を見つけました。クエリ'suppress_filters'=>'1'に1つだけ追加の設定があります。

たとえば

$args = array (
    'post_status'           => 'future',
    'suppress_filters'      => '1'
    );
$query = new WP_Query($args);

グーグルで何時間も検索した後、私はこの簡単な解決策を見つけることができませんでした。しかし、それが他の誰かを助けるという希望があります。

于 2014-02-18T14:13:39.123 に答える
1

このアプローチは、date_queryパラメーター(WP 3.7以降で使用可能)を使用して機能しました。

$args = array(
    'post_status' => 'publish,future',
    'date_query' => array(
        array(
            'after' => date('Y-m-d'),
            'inclusive' => true,
        )
    ),
);

$query = new WP_Query($args);

現在の1日(現在の時刻の前または後)から将来までのすべての投稿を照会します。

于 2019-09-10T20:33:10.047 に答える