Intereting Posts
Проблема с просмотром одной страницы правильно. (на полпути вниз по странице при нажатии) Добавление навигационного меню для пользовательского типа сообщения WordPress работает SQL-запрос для обновления базы данных из формы Получить первый идентификатор страницы ребенка или постоянную ссылку в WordPress Admin Поле выбора сохраняет, но не обновляет значение в admin пользовательский тип сообщения и пользовательская таксономия Пользовательские типы сообщений, относящиеся к одному типу пользовательских сообщений? как остановить дрожание эффект на моей домашней странице Добавить кнопки входа и выхода в верхнюю строку меню Как я могу автоматически добавлять свои сообщения на страницу фан-сайта моего сайта? Shortcode показывает неправильный post_title Каков правильный способ обновления WP / plugins / themes без взлома сайта? Как импортировать пользователей в WordPress? Как сделать уменьшенное изображение вписываемым в div, где размеры изображения полностью разные? Используйте файл шаблона для определенного URL-адреса без создания страницы

Несколько мета-запросов, но упорядочиваются по определенному порядку метазначения

Я работаю над функцией, которая дает мне адвокатов на основе критериев. Функция работает нормально. Недавно я добавил мета-ключ с именем 'is_endorsed' . Значение может быть либо '1' либо '0' .

Мне нужно привести одобренного пользователя поверх результатов. Поскольку мы применили функцию одобрения. Для некоторых участников установлено значение '1' , а некоторые – '0' . И большинство из них даже не имеют мета-ключа wp_usermeta таблице wp_usermeta .

Следующий код работает без фильтра одобрения. Я пробовал все возможные модификации, которые я знал, теперь он нервничает. Пожалуйста, взгляните и дайте мне несколько советов.

 function find_lawyer( $country = '', $state = '', $city = '' ) { $meta_query = array( array( 'key' => 'user_locations', 'compare' => '!=', 'value' => '' ), array( 'key' => 'is_published', 'compare' => '=', 'value' => '1' ), ); if ( $country ) { $meta_query[] = array( 'key' => 'user_locations', 'compare' => 'REGEXP', 'value' => '([\w|]*)country:' . $country . '([\w|]*)' ); } if ( $state ) { $meta_query[] = array( 'key' => 'user_locations', 'compare' => 'REGEXP', 'value' => '([\w|]*)state:' . $state . '([\w|]*)' ); } if ( $city ) { $meta_query[] = array( 'key' => 'user_locations', 'compare' => 'REGEXP', 'value' => '([\w|]*)city:' . $city . '([\w|]*)' ); } $users_query = new WP_User_Query( array( 'role' => 'lawyer', 'meta_query' => $meta_query ) ); return $users_query->get_results(); } 

И вот что я пробовал. Это дает мне только пользователей, имеющих 'is_endorsed' = '1' .

 function find_lawyer( $country = '', $state = '', $city = '' ) { $meta_query = array( array( 'key' => 'user_locations', 'compare' => '!=', 'value' => '' ), array( 'key' => 'is_published', 'compare' => '=', 'value' => '1' ), array( 'relation' => 'OR', array( 'key' => 'is_endorsed', 'value' => '1', 'compare' => 'EXISTS', ), array( 'key' => 'is_endorsed', 'compare' => 'NOT EXISTS' ) ) ); // And so on... $users_query = new WP_User_Query( array( 'role' => 'lawyer', 'meta_query' => $meta_query, 'orderby' => 'meta_value_num', ) ); return $users_query->get_results(); } 

Solutions Collecting From Web of "Несколько мета-запросов, но упорядочиваются по определенному порядку метазначения"