Rozejrzałem się i nie widziałem odpowiedzi, która działa jak dotąd. Mam WP_Query z następującymi argumentami:
$args = array(
'post_status' => 'publish',
'post_type' => 'listing',
'meta_key' => 'client_feedback_score',
'orderby' => 'client_feedback_score',
'order' => 'DESC'
);
$query = new WP_Query($args);
Chcę uporządkować wyniki według niestandardowego pola postu „client_feedback_score”, od najniższej do najwyższej. Ale to nie działa ... czy ktoś może skierować mnie w dobrym kierunku?
EDYCJA (ROZWIĄZANE):
Dzięki odpowiedzi Milo, oto działający kod do zamawiania według liczbowej meta wartości:
$args = array(
'post_status' => 'publish',
'post_type' => 'listing',
'meta_key' => 'client_feedback_score',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
custom-field
wp-query
order
Adam Moss
źródło
źródło
meta_key
nie istnieje jeszcze dla posta, post zostanie zignorowany.my_meta_key
, aby każdy post wygenerował dowolne zamówienie. Krok 2 Wmeta_key
zapytaniu ustawiłeś wartośćmy_meta_key
. To mówi WordPressowi, aby wyszukiwał posty, które mają ten klucz. Krok 3 Ustaworderby
w zapytaniu wartośćmeta_value_num
. To mówi WordPressowi, że nie tylko wysyła zapytania do postówmy_meta_key
, ale także porządkuje numerycznie według tego klucza. Ten argument zapytania jest jedynym miejscem, które kiedykolwiek zobaczysz lub użyjeszmeta_value_num
.meta_key
ich przed uruchomieniem zapytania dotyczącego zamówienia