wordpress自定义查询事件日历

wordpress自定义查询事件日历

问题描述:

我在'u5'事件类别中有2个事件。结果显示如下:wordpress自定义查询事件日历

U5 VS伊根
没有事件

我怎么可以只显示事件没有“无事件”输出?

date_default_timezone_set('America/Chicago'); 
$today = date('j M Y'); 
$tomorrow = date('j M Y', strtotime('+1 days')); 
$third = date('j M Y', strtotime('+2 days')); 
$fourth = date('j M Y', strtotime('+3 days')); 
$end_date = date('j M Y', strtotime('+4 days')); 

global $post; 
$upcoming = tribe_get_events(array('start_date'=>$today,'end_date'=>$end_date,'tribe_events_cat'=>'u5')); 

if (count($upcoming) == 0) { 
    echo '<li>No Events</li>'; 
} else { 
    foreach($upcoming as $post) { 
     setup_postdata($post); 
     $start = tribe_get_start_date(null, false, 'j M Y'); 

     if($start == $tomorrow) { 
      echo the_title(); 
     } else { 
      echo 'no events'; 
     } 
    } 
} 

我已将其重写为一个函数,以使其可重复使用并产生与给定示例类似的输出。传递开始日期和天数,根据需要扩展数组以供其他组使用。

function list_events($start_date , $days){ 
    date_default_timezone_set('America/Chicago'); 
    global $post; 
    $column_classes = array('first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh'); 
    $start = strtotime($start_date); 
    for ($i=0; $i<$days; $i++){ 
     $day = $start+86400*$i; 
     $day_f=date('Y-m-d', $day); 
     echo '<li class="'.$column_classes[$i].'">'; 
     echo '<span class="title">'.date('M j', $day).'</span>'; 
     $upcoming = tribe_get_events(array('eventDisplay'=>'all', 'start_date'=>$day_f,'end_date'=>$day_f.' 23:59:59')); 
     if (count($upcoming) == 0){ 
      echo '<span>No Events</span>'; 
     }else{ 
     foreach ($upcoming as $post){ 
      setup_postdata($post); 
      echo '<span><a href="'.get_permalink().'">'.get_the_title().'</a></span>'; 
      } 
     } 
     echo '</li>'; 
    } 
    wp_reset_query(); 
} 
+0

非常感谢布莱恩, 那在朝着正确的方向。我将如何进行编程可以说: 如果今天的日期,今天的演出活动 如果明天的日期,显示明天的事件 等等...... 我意识到这可以手动完成,通过if语句设置到检查每一天,但似乎微不足道。我知道必须有一个更简单的方法。以下链接可以更好地了解http://www.futsalacademy.com/the-teams/development-program/u-5/ – fidellakis