Intereting Posts
wp не делает уникальную СРН-константу / слизню Возврат всех значений из foreach в функции php Как добавить скрытые настраиваемые поля из wp-admin / post.php? Можно добавить еще одну настройку в настройку «Параметры передней страницы» для пользовательского типа сообщения Почему WordPress Heartbeat не обновляет nonces? Создайте шаблон frontpage.php и static page Каков наилучший способ обновления плагинов WordPress при использовании SVN и нескольких сред? Получение сообщений из категории в шаблоне пользовательских страниц Сохранение подлинности Dropbox? Изменить все http на https в mysql databse? Использование 'previous_post_link ()' и 'next_post_link ()' на отдельных страницах вложения Передавать параметры для действия через действие Так много данных в postmeta Получить идентификатор страницы страницы, заданной в качестве страницы сообщений Добавление мета-ячеек таксономии к представлению администратора пользователя

Как получить события, используя несколько настраиваемых мета-полей?

Мне нужно захватить список текущих событий. События имеют дату начала и окончания, поэтому мне нужно иметь возможность выбирать диапазон, а не просто получать список событий, у которых есть дата окончания, которая после сегодняшней даты.

Есть ли у кого-нибудь какие-либо предложения относительно того, как это сделать? (из того, что я читал там, похоже, не существует способа использовать несколько значений «meta_key» и «meta_compare», но должен быть каким-то образом способ)

Вот пример того, что я использую в своих аргументах, но мне также нужно сделать это и для даты начала:

'meta_key' => 'end_date_value', 'meta_compare' => '>', 'meta_value' => $todaysDate, 

Solutions Collecting From Web of "Как получить события, используя несколько настраиваемых мета-полей?"

Вы можете использовать свой текущий код для создания запроса, а затем в цикле запустить проверку перед отображением событий, например,

 <?php query_posts('meta_key' => 'end_date_value', 'meta_compare' => '>', 'meta_value' => $todaysDate); while ( have_posts() ) : the_post(); $post_custom = get_post_custom($post_id); if ($startDate < $post_custom['start_date_value']){ //your loop here } } 

?>

имейте в виду, что это не правильно закодированный способ сделать это, я бы, вероятно, создал лучший SQL-запрос или использовал hooks posts_where.

но его начало

Не совсем эффективно, но вы можете сделать два запроса.

Тот, который извлекает события, у которых дата больше, чем startDate, а другая имеет конечное время ниже конечных данных.

Затем вы можете сделать array_intersect () два массива.