Отобразить предстоящие события на следующие 7 дней

Я видел запрос на простой 7-дневный календарь событий, который всегда начинается с сегодняшнего дня.

У меня есть специальный мета-ящик, называемый временем открытия, который получает вход YYYY-MM-DD.

Пока это то, что у меня есть, и оно не работает.

Он выводит только 2011-11-17 сегодня 11-11-2011, так что это неправильно. Он также должен иметь php-ошибку, потому что ни один из блогов не выводит.

Заранее спасибо.

<ul id="days_header"> <?php $today = date("omd"); $future = strtotime ( '+6 days' , strtotime ( $today ) ) ; $future = date ( 'omd' , $future ); $event_query = new WP_Query( array( 'post_type' => 'event', 'meta_key' => 'opening_time', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ) ); ?> <?php for ($i=0; $i<7; $i++): $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ) ; $thedate = date ( 'omd' , $thedate ); ?> <li> <?php echo $thedate; ?> <?php if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post();?> <?php if(meta('opening_time') == $thedate) :?> <?php the_title(); ?> <?php else: ?> No Events Today <?php endif; ?> </li> <?php endwhile; endif; rewind_posts(); ?> 

Solutions Collecting From Web of "Отобразить предстоящие события на следующие 7 дней"

В прошлом я не имел большого успеха, используя сравнение BETWEEN с мета-запросами. Возможно, вам повезло, заменив ваш мета-запрос на >= и <= сравнение:

 'meta_query' => array( array( 'key' => 'opening_time', 'value' => $today, 'compare' => '>=', 'type' => 'DATE' ), array( 'key' => 'opening_time', 'value' => $future, 'compare' => '<=', 'type' => 'DATE' ) ) 

В зависимости от вашего приложения вы можете немного настроить результаты, сбросив «или равный» из одного или обоих утверждений (прямо сейчас он очень прощает).

Что касается ошибки PHP, предоставленный вами код не заканчивает цикл «for» с endfor . Вы проверили свой журнал ошибок PHP? Вы также можете попробовать включить WP_DEBUG в файле wp-config.php.