Intereting Posts
В любом случае, чтобы назначить персонализированные типы сообщений определенной категории? Помогите мне исправить эти сумасшедшие URL страниц вложений (переписать?) posts_per_page & pagination conflict Реализация липкого набора на WordPress WordPress медленно даже использует пустой шаблон Как организовать продукты по коллекциям с описанием коллекций? ACF: запрос полей отношений с автором WordPress плагин / тема или другой выход для создания портативных страниц? Как временно скрывать доступ к моему веб-сайту? Есть ли крючок, который срабатывает перед вызовом ajax? Фильтр Ajax для фильтрации сообщений с датой, ценой и категорией простой пользовательский запрос плагина Как добавить несколько копий виджета из «доступных виджетов» Регистрация пользователя WordPress без подтверждения по электронной почте? Насколько безопасно / дезинфицировано wp_insert_posts ()?

Мета-запрос с более чем двумя полями

У меня есть 5 наборов мета-полей в некотором пользовательском postype. Итак, я знаю, как сравнивать два значения мета-поля …

Пример:

'meta_query' => array( 'relation' => 'AND', array( 'key' => THEME_PREF.'source_lang_1', 'value' => $sourceLang, 'compare' => '=' ), array( 'key' => THEME_PREF.'target_lang_1', 'value' => $targetLang, 'compare' => '=' ), ), 

Но…
что, если мне нужно проверить 4 поля – проверка не верна.
что это не возвращает только правильные результаты
только «сообщения», отвечающие обоим условиям.

 $transargs = array( 'post_type' => 'translators', 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => -1, 'meta_query' => array( 'relation' => 'OR', array( 'relation' => 'AND', array( 'key' => THEME_PREF.'source_lang_1', 'value' => $sourceLang, 'compare' => '=' ), array( 'key' => THEME_PREF.'target_lang_1', 'value' => $targetLang, 'compare' => '=' ) ), array( 'relation' => 'AND', array( 'key' => THEME_PREF.'source_lang_2', 'value' => $sourceLang, 'compare' => '=' ), array( 'key' => THEME_PREF.'target_lang_2', 'value' => $targetLang, 'compare' => '=' ) ), ) ); $trns_query = new WP_Query($transargs); 

Разработать
я получаю много результатов, когда выполняется первое условие каждого мета-запроса, но не второе, и, следовательно, отношение и

Пример:
$ sourceLang = 1;
$ targetLang = 2;

я мог бы также получить
(что не хорошо … И не работает?) …
результат равен $ sourcelang (1) / targetLang (5)