Нужно вывести список мероприятий, отсортированных по дате проведения (по сути афиша мероприятий). Очень долго мучился и на данный момент я пытаюсь решить эту проблему следующим способом:
$args = array( 'post_type' => 'event', 'posts_per_page' => 10, 'meta_key' => 'event-datetimes', 'orderby' => 'meta_value', 'order' => 'DESC' ); query_posts($args); if (have_posts()) : while (have_posts()) : the_post(); // код... ?> <?php endwhile; endif; wp_reset_query(); ?>
Это работает очень странно, есть что-то, что я не учёл. Может кто-нибудь уже сталкивался с подобной задачей и может подсказать какую ошибку я сделал и как её можно решить? И если есть несколько дат проведения у мероприятия, можно ли сделать так, чтобы оно выводилось несколько раз? Спасибо.
Посмотрите в моем примере:
$args = array( 'posts_per_page' => '90', 'orderby' => 'meta_value', 'meta_key' => 'y_2010_premiere', 'order' => 'asc', 'meta_query' => array( array( 'key' => 'y_2010_premiere', 'compare' => 'BETWEEN', 'type' => 'date', 'value' => array( '2010-01-01', '2010-01-31' ) ) ) );
Я тоже выводил график кинопремьер по метаполю и дате и может мой пример вам поможет. Единственное - у меня вывод за диапазон - но думаю это не проблема для вас
Дружаев Владимир (Otshelnik-Fm) сказал(а)
Посмотрите в моем примере:$args = array( 'posts_per_page' => '90', 'orderby' => 'meta_value', 'meta_key' => 'y_2010_premiere', 'order' => 'asc', 'meta_query' => array( array( 'key' => 'y_2010_premiere', 'compare' => 'BETWEEN', 'type' => 'date', 'value' => array( '2010-01-01', '2010-01-31' ) ) ) );Я тоже выводил график кинопремьер по метаполю и дате и может мой пример вам поможет. Единственное - у меня вывод за диапазон - но думаю это не проблема для вас
Спасибо, но к сожалению, не помогло. Нужно сделать так, чтобы мероприятие выводилось в цикле столько же раз, сколько у него дат проведения. В плагине всё зависит от произвольного поля "event-datetimes"...
Например: спектакль "Опа, вечеринка!" идет 14 и 15 февраля. Это отражено в календаре, но в цикле спектакль показывается один раз. Как это исправить?
Могу ошибаться, но при обычной выборке цикл не пропустит один и тот же пост несколько раз, да и sql-запрос там выбирает только уникальные значения.
Вам скорее всего придется свою выборку и цикл написать, но опять же я не вижу другого варианта, кроме как ограничить его по дням, как это делает календарь мероприятий.