Intereting Posts
wp_kses () разделяет атрибуты данных, даже если они находятся в разрешенном списке Как добавить_filter / action, чтобы прокомментировать CSS, сгенерированный функцией администратора? Как получить сообщения в блоге в панели администратора Вывести значение настраиваемого поля для строки сообщения Существует ли возможный способ разделения плагинов на другие каталоги (WPMU) Проблема с пользовательскими тегами типа сообщения Определите, есть ли в Сети уже созданные сайты Настройка многосайтовых настроек при создании нового сайта Сделайте только изображение привязкой, используя расширенный плагин excerpt? Включение настраиваемых полей в пределах_контента Объедините результаты двух циклов Использование метода POST в мета-окне, никаких результатов Как распределить кнопку браузера после выхода из системы? Как перенаправить / переписать все / wp-login-запросы пользовательские переменные сеанса теряются в FF

Создание массива поиска из нескольких таблиц

Я работаю с сайтом WordPress клиента, который имеет пользовательские представления (через TDO Mini Forms) из разных стран, и они хотели бы иметь возможность искать сообщения по регионам – Европе, Африке, Центральной Америке и т. Д.

В стране происхождения пользователя имеется настраиваемое поле. У меня также есть отдельная таблица, которая отображает страны в регионы. Я хочу сделать так, чтобы пользователь мог выбрать Европу, например, с карты, и WP вернет любые сообщения из стран, которые отображаются как ЕС.

Каков наилучший способ сделать это? Мало того, что я не хочу изобретать колесо, но WP может быть очень суетливым в отношении функций поиска.

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

Спасибо за любую помощь.

ти

Solutions Collecting From Web of "Создание массива поиска из нескольких таблиц"

У тебя есть правильная идея. Если вы получите массив идентификаторов стран в пределах региона, вы можете передать этот массив мета-запросу IN сравнению:

$country_ids = array(1,2,3); // this would be the result from fetching countries associated with a region. $args = array( 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'country', 'value' => $country_ids, 'compare' => 'IN' ) ) ); $query = new WP_Query( $args ); 

EDIT – это предполагает, что идентификатор сохраняется, если вы сохраняете имена стран в качестве значения, вы должны запрашивать массив имен.