Intereting Posts
Два URL-адреса для одного веб-сайта Сохранение социальной доли после изменения WordPress Permalinks Лучшие практики для функций обратного вызова add_action ajax Где я могу получить хостинг wordpress, похожий на wordpress.com? Можно ли совместить корень сайта с правилом перезаписи WP? add_editor_style не загружается в frontend. Любое решение? Напишите WP Query, который выбирает сообщения, которые являются частью одной и той же категории Как добавить пользовательскую дублируемую ссылку на сообщение или продукт? Добавление класса в <img> Получение от исходного содержимого wp-cli: Ошибка установления соединения с базой данных: неопределенная константа DB_USER Получение изображений из галереи NextGEN Цикл Foreach возвращает более одного элемента при запросе таксономии Получение и вычисление значения среднего значения настраиваемых полей одного и того же тега Использование URL-адресов, хранящихся в таблице сообщений Шаблон пользовательского шаблона сообщения – Архив

Запрос сообщений из WordPress с 2 или более условными выражениями

Я запускаю сайт wordpress с плагином Essential Grid, чтобы отображать ссылки на сообщения, которые я создаю. Посты – это события, которые происходят в течение времени (дней / недель / месяцев). Я создал некоторые настраиваемые мета-поля для «eg-startdate» и «eg-enddate», и теперь мне нужно сообщить сетке, что я хочу показывать сообщения только там, где:

eg-startdate <= сегодня И eg-enddate> = сегодня

Я смог фильтровать сетку, чтобы показывать события, где eg-enddate> = today, используя следующий код:

function eg_mod_query($query, $grid_id){ if($grid_id == 9) { $query['meta_query'] = array( 'key' => 'eg-enddate', 'value' => date("d/m/Y"), 'compare' => '>', 'type' => 'numeric' ); $query['meta_key'] = 'eg-enddate'; $query['meta_value'] = date("d/m/Y"); $query['meta_value_num'] = date("d/m/Y"); $query['meta_compare'] = '>'; } return $query; } 

Как мне теперь изменить этот код, так что, как и ограничивающие сообщения, в которых «eg-enddate» в будущем, он также фильтрует сообщения, где «eg-startdate» находится в прошлом или сегодня, обеспечивая при этом, что все данные в конечном итоге хранится в $ query?

Цените любую помощь, спасибо! 🙂

Вы можете передать массив с несколькими запросами в meta_query .

Что-то вроде:

 'meta_query' => array( array( 'key' => 'eg-enddate', 'value' => date("d/m/Y"), 'compare' => '>', 'type' => 'numeric' ), 'relation' => 'AND', array( 'key' => 'eg-startdate', 'value' => date("d/m/Y"), 'compare' => '<', 'type' => 'numeric' ) ) 

Для получения дополнительной информации перейдите по документации: https://codex.wordpress.org/Class_Reference/WP_Meta_Query

Примечание. Код не проверен и не проверен, поэтому обратите внимание на синтаксические ошибки.