WP_Query ordonare după mai multe chei meta și câmpuri
28 aug. 2017, 16:38:17
Vizualizări: 18.7K
Voturi: 8
Cum pot ordona interogarea după mai multe chei meta și câmpuri/câmpuri personalizate?
Acesta este codul meu:
$args = array
(
'post_type' => 'listing',
'posts_per_page' => -1,
'tax_query' => array
(
array
(
'taxonomy' => 'listing_category',
'field' => 'slug',
'terms' => urldecode($category)
),
array
(
'taxonomy' => 'location',
'field' => 'slug',
'terms' => urldecode($location)
)
),
//*** ACESTA PARTE NU FUNCȚIONEAZĂ
'meta_query' => array
(
array(
'key' => 'listing_status',
'orderby' => 'meta_value',
'order' => ASC,
),
array(
'key' => 'listing_total_rank',
'orderby' => 'meta_value',
'order' => DESC,
),
array(
'key' => 'listing_free_date',
'orderby' => 'meta_value',
'order' => ASC,
),
array(
'key' => 'title',
'orderby' => 'meta_value',
'order' => ASC,
),
),
//***
);
$listings = new WP_Query( $args );
Partea cu 'meta_query'
nu funcționează în cod.
Comentarii
Toate răspunsurile la întrebare
1
0
Utilizați meta query fără a seta o valoare. Modul în care faceți acest lucru este folosit pentru a interoga postări, nu pentru a le ordona.
Utilizarea Meta Queries Denumite
Pentru a ordona postările după diferite metadate, puteți da nume meta queriilor și apoi le puteți folosi pentru a seta ordonarea. Iată un exemplu simplu pentru dvs.:
$args = array(
'meta_query' => array(
'relation' => 'AND',
'query_one' => array(
'key' => 'key_one',
'value' => 'value_one', // Opțional
),
'query_two' => array(
'key' => 'key_two',
'compare' => 'EXISTS', // Opțional
),
),
'orderby' => array(
'query_one' => 'ASC',
'query_two' => 'DESC',
),
);
Puteți consulta secțiunea aceasta din pagina codex pentru WP_Query()
pentru a vă familiariza cu sortarea postărilor.

Johansson
15.4K
28 aug. 2017 17:04:13
Întrebări similare
2
răspunsuri
1
răspunsuri
2
răspunsuri
5
răspunsuri