Я проверил и не видел ответа, который еще работает. У меня есть 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», от низшего к высшему. Но, похоже, это не работает ... кто-нибудь может указать мне правильное направление?
РЕДАКТИРОВАТЬ (РЕШЕНО):
Благодаря ответу Майло, вот рабочий код для упорядочения по числовому мета-значению:
$args = array(
'post_status' => 'publish',
'post_type' => 'listing',
'meta_key' => 'client_feedback_score',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
custom-field
wp-query
order
Адам Мосс
источник
источник
meta_key
еще не существует, сообщение будет проигнорировано.my_meta_key
для каждого поста, чтобы сгенерировать любой порядок, который вы хотите. Шаг 2 Вы задалиmeta_key
в своем запросеmy_meta_key
. Это говорит WordPress запрашивать посты с таким ключом. Шаг 3 Установитеorderby
в своем запросе значениеmeta_value_num
. Это говорит WordPress не только запрашивать сообщенияmy_meta_key
, но и численно упорядочивать по этому ключу. Этот аргумент запроса - единственное место, которое вы когда-либо увидите или используетеmeta_value_num
.meta_key
их перед выполнением запроса заказа