2013-03-24 125 views
2

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

下面是該查詢:

$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,但沒有奏效。

請問誰能告訴我該怎麼做?

我的想法是告訴查詢只顯示發佈日期是今天或「少於」的帖子。這就是爲什麼" <= "

+0

不知道你是否看過這個-http://stackoverflow.com/questions/9317244/wordpress-only-show-future-posts-minus-one-day – McNab 2013-03-24 16:11:58

+0

我沒有意識到WordPress可以展示未來的帖子。這些年來,我一直在做錯事。 :-) – 2013-03-25 00:56:59

回答

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(); 

應該這樣做。

請參閱codex article on the WP_Query class以供參考。

+0

很顯然,如果它在單個查詢中可行,它會變得更加滑稽,但是我懷疑(沒有嘗試過),因爲未來的文章沒有與它們相關的日期。或者他們呢?無論如何,這將起作用,儘管可能不是最有效的。 – 2013-03-25 00:56:13

+0

嗨,謝謝!我會在一分鐘內嘗試一下。據我所知未來的職位確實有一個與他們相關的日期。今天是25號,我可以計劃在30號發佈一個帖子。日期是30-03-2013,post_status = future。 – user2191254 2013-03-25 20:35:09

+0

Johannes,非常感謝!有用!不得不編輯我的index.php一點點,使其工作,但現在它...非常酷!你能幫我多一點嗎? :)現在我想添加這兩個查詢的完全相同的功能,我的archive.php用於類別頁面。當然,應該只有某一類別的職位。你有一個想法,我必須修改代碼來實現這個在archive.php上?當我把它粘貼在那裏時,它給了我所有類別的所有帖子,如索引。而不僅僅是來自正確類別的帖子。謝謝! – user2191254 2013-03-25 20:54:47

1

擁有你們發現未來的職位只查看到管理員或作者?我想列出所有未來的職位標題非會員和查詢將始終返回0職位,當我查詢'未來',除非我作爲管理員登錄。

這樣做的結果0返回數組的一個變種轉儲,我發現那名聯合國一套和一個suppress_filters吸引了我的眼球,從而將其設置爲1(真),我得到的結果,我想各種設置。

所以有這個問題,我發現該溶液中,在查詢它只是1額外設置「suppress_filters」 =>「1」

所以例如

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

通過谷歌幾個小時搜索後任何人我找不到這個簡單的解決方案。但那裏有希望它可以幫助別人。

相關問題