WP_Query - Закажите результаты значением meta

Я проверил вокруг и не видел ответ, который работает на данный момент. У меня есть WP_Query со следующими аргументами:

$args = array(
    'post_status' => 'publish',
    'post_type' => 'listing',
    'meta_key' => 'client_feedback_score',
    'orderby' => 'client_feedback_score',
    'order' => 'DESC'
);

$query = new WP_Query($args);

Я хочу заказать результаты пользовательским полем сообщения client_feedback_score, самый низкий к самому высокому. Но это, кажется, не работает..., кто-либо может указать на меня в правильном направлении?

РЕДАКТИРОВАНИЕ (РЕШИЛО):

Благодаря ответу Milo вот рабочий код для упорядочивания числовым значением meta:

$args = array(
    'post_status' => 'publish',
    'post_type' => 'listing',
    'meta_key' => 'client_feedback_score',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
);
52
22.01.2020, 19:43
1 ответ

orderby должен быть meta_value_num, или meta_value, не название ключа. См. WP_Query orderby параметры.

71
19.02.2020, 21:53
  • 1
    Работавший обработка, помощник аплодисментов. –  Adam Moss 04.10.2011, 18:41
  • 2
    Маленькое примечание, если meta_key еще не существует для сообщения, сообщение будет проигнорировано. –  adamj 02.12.2015, 04:46
  • 3
    @RobBenz необходимо, вероятно, запустить новый вопрос по этой теме. Шаг 1 Присвойте любое значение, которое Вы хотите к своей метаклавише, давайте назовем его my_meta_key, чтобы каждое сообщение генерировало любой порядок, Вы хотите. Шаг 2 Вы устанавливаете meta_key в Вашем запросе к my_meta_key. Это говорит WordPress запрашивать для сообщений, которые имеют тот ключ. Шаг 3 Набор orderby в Вашем запросе к meta_value_num. Это говорит, что WordPress к не только запрашивает сообщения с my_meta_key, но также заказать численно тем ключом. Тем аргументом запроса является единственное место, которое Вы будете когда-либо видеть или использовать meta_value_num. –  Milo 25.04.2017, 21:21
  • 4
    @adamj - оно какое-либо обходное решение это? Мне нужен вид все сообщения, независимо это, meta_key существуют для сообщения или нет. –  unbreak 22.02.2018, 09:46
  • 5
    @unbreak простое решение должен проанализировать по всем сообщениям и добавить meta_key им до выполнения запроса порядка –  adamj 23.02.2018, 11:21

Теги

Похожие вопросы