2012-04-12 7 views
1

私は "The Future Is Now!"を使用しています。将来の予定であるすべての投稿を表示したいと考えています。唯一の問題は、ループに入る前に(WHERE date> = $ currentdateのような)クエリをどうやって作るのですか?プログラムでWordpressの古いポストを表示しないでください

<?php if (is_category('My awesome category')) { 
     $currentdate = date("Y-m-d",mktime(0,0,0,date("m"),date("d"),date("Y"))); 
     /* Some sort of query with the statement date >= $currentdate? */ 
    } 
    ?> 

    /* The Loop */ 
    <?php if (have_posts()) : while (have_posts()) : the_post(); 
    ?> 

答えて

1
query_posts(array('post_status' => 'future')); 

編集:上記はあなたのループに合う簡単な答えですが、デフォルトのソリューションとして、それはuが新しい$ WP_Queryオブジェクトを使用することを勧めします:

$my_query = new $WP_Query; 
$my_query->query_posts(array('post_status' => 'future')); 

while ($my_query->have_posts()) : 
    $my_query->the_post(); 
    the_title(); 
endwhile; 

wp_reset_postdata(); // now the main wordpress query and post data is intact 

第二編集:類似クエリがフィルターを使用しています:

function filter_where($where = '') { 
    // posts in the future 
    $now = date("Y-m-d H:i:s"); 
    $where .= " AND post_date >= '$now'"; 
    return $where; 
} 

add_filter('posts_where', 'filter_where'); 
$q = new WP_Query(array('post_type' => 'post')); 
while ($q->have_posts()) : 
    $q->the_post(); 
    the_title(); 
endwhile; 
remove_filter('posts_where', 'filter_where'); 
+0

"The Future is now"のプラグインでの問題は、将来のすべての投稿を公開するように設定しています。だから将来postという名前のpost_statusはありません。したがって、post_dateをチェックして現在の日付と比較するクエリを作成することは可能ですか? – David

+0

ええ、あなたはそれを行うことができます。私は編集をしました。 – offroff

関連する問題