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