2016-12-09 11 views
1

私の1つのWordPressプロジェクトでは、すべての今後の予定を表示するイベントページがあります。問題は、私は2つの '未来'の出来事だけを示す必要があるということです。PHPは正しい投稿数を表示していません

私は現在、合計5イベント、過去3イベント(これ以上表示しない)、2イベント(表示する必要があります)を持っています。私がshowposts => 2を使用すると、将来の投稿は表示されません。showposts => 5を実行すると、2つの将来のイベントが表示されます。

将来の予定が2つしか表示されないことを修正するにはどうすればよいですか?

+0

その日付が正しいと同じ形式であるかどうか – jilesh

+0

query_postsがメインクエリがそれを使用していない変更 –

答えて

0

は、「日付」fields.I上の2次ループとメタクエリを作成し、事前に

<?php 
    $months = array("", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"); 
    query_posts(array('post_type' => 'events', 'showposts' => 5)); 
    if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <?php 

    $dateparts = explode("-",get_post_meta(get_the_ID(), 'date')[0]); 
    $date = get_post_meta(get_the_ID(), 'date')[0]; 
    $event_date = \DateTime::createFromFormat('d-m-Y', $date); 
    $now = new DateTime() ; 
    $past_event = ($event_date <= $now); 

     if(!$past_event){ 
     ?> 

おかげで、この意志は役に立ち願っています。

<?php 
      $event_query = new WP_Query(
      array( 
       'post_type' => 'event', 
       'meta_key' => 'date', 
       'order_by'  => 'date', 
       'order'  => 'asc',  
       'meta_query' => array(
       array(   
        'key'  => 'date', 
        'value' => date("n"), 
        'compare' => '>=',  

       ) 
       ) 
      ) 
      ); 

    ?> 
     <?php while($event_query->have_posts()): $event_query->the_post(); ?> 
+0

こんにちはVasimであるあなたはそれについての詳細クリアされますので、その状態に入る前に、両方の日付を印刷してみてください、このよく見えますが、どうすれば2番目のループを作成できますか?私のコードを例として展開できますか? – rwzdoorn

+0

あなたは自分自身を働かなければならない私はちょうど方法を提供することができます –

関連する問題