簡體   English   中英

wordpress:僅顯示今天或未來的帖子

[英]wordpress: only show posts from today or the future

我正在運行此查詢以打印我的帖子。 它有效,但我想添加一個參數,告訴系統只顯示今天發布的帖子或將來發布的帖子!

這是查詢:

$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但是沒有用。

拜托,誰能告訴我怎么做?

我的想法是告訴查詢只顯示發布日期是今天或“少於”今天的帖子。 這就是" <= "的原因。

$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類上codex文章以供參考。

您是否都發現未來的帖子只能供管理員或作者查看? 我想列出所有未來的帖子標題給非成員,當我查詢'future'時,查詢總是返回0個帖子,除非我以管理員身份登錄。

執行返回的0數組的var轉儲我發現各種設置未設置,一個suppress_filters引起了我的注意,因此將其設置為1(true)我得到了我想要的結果。

所以有任何人遇到這個問題我找到了解決方案,在查詢中只有一個額外的設置'suppress_filters'=>'1'

所以例如

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

經過谷歌搜索幾個小時后,我找不到這個簡單的解決方案。 但它希望它可以幫助別人。

這種方法對我有用,使用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);

它查詢整個當天(當前時間之前或之后)和未來的所有帖子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM