Intereting Posts
Заказ пользователей определенной роли по фамилии Получить запрос var внутри functions.php Избыток белого пространства над панелью администратора на Frontend с помощью Twitter Bootstrap Как правильно обрабатывать запросы ajax с помощью плагинов ajax WordPress function.php на ZendFramework CMS Запретить сохранение сообщения без предоставления заголовка Почему мои пользовательские типы сообщений отображаются на панели управления, но не на моем сайте? Могу ли я проверить nonce, который был сгенерирован на другом сайте WP? Попытка получить свойство ошибки без объекта с эскизом Как я могу защитить паролем сайт WordPress, не требуя от пользователя входа? Каков лучший способ написать условное утверждение? Получить последние сообщения по дате в Multisite Вернуться теги сообщения с описанием Как изменить «wp-admin» на что-то еще без поиска, заменяющего ядро? Как отображать популярные сообщения на странице?

meta_query в WP_query с отношением «OR» не принимает более двух массивов для сравнения

Мне нужно получить ближайший пост до сегодняшнего дня, но я не могу зависеть от опубликованной даты, поэтому добавляю к сообщениям настраиваемые поля с пулями: «koncert-rok», «koncert-miesiac» и «koncert-day», которые просто цифры соответствуют деньу события и т. д.

Итак, я подумал, что создаю WP_query с meta_query с шагами:

(check if day of event is > than today's day AND check if month is = to today's month AND check if year is = to today's year) OR (check if day of event is >= 1 AND month is > to today's month AND year is = to today's year) OR (check if day of event is >= 1 AND month is >= 1 AND year is > to today's year) 

И у меня WP_query с такими аргументами:

 $argsi = array( 'numberposts' => 1, 'post_type' => 'koncerty', 'post_status' => 'publish', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_query' => array( 'relation' => 'OR', array( 'relation'=>'AND', array( 'key' => 'koncert-dzien', 'value' => $day, 'type' => 'NUMERIC', 'compare' => '>=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '=' ), array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ) ), array( 'relation' => 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '>' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) ), array( 'relation'=> 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '>' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) ) ) ); 

но сайт загружается и загружается, в конце концов я получил ошибку 500.

НО, когда я сократил свой код до этого:

  $argsi = array( 'numberposts' => 1, 'post_type' => 'koncerty', 'post_status' => 'publish', 'order' => 'ASC', 'orderby' => 'meta_value', 'meta_query' => array( 'relation' => 'OR', array( 'relation'=>'AND', array( 'key' => 'koncert-dzien', 'value' => $day, 'type' => 'NUMERIC', 'compare' => '>=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '=' ), array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ) ), array( 'relation' => 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '=' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => $month, 'compare' => '>' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) )/*, array( 'relation'=> 'AND', array( 'key' => 'koncert-rok', 'type' => 'NUMERIC', 'value' => $year, 'compare' => '>' ), array( 'key' => 'koncert-miesiac', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ), array( 'key' => 'koncert-dzien', 'type' => 'NUMERIC', 'value' => 1, 'compare' => '>=' ) )*/ ) ); 

он работает, за исключением того, что он не показывает события в следующем году.