Ordinare WP_Query per più meta key e campi personalizzati
28 ago 2017, 16:38:17
Visualizzazioni: 18.7K
Voti: 8
Come ordinare una query per più meta key e campi/campi personalizzati?
Questo è il mio codice:
$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)
)
),
//*** QUESTO NON FUNZIONA
'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 );
La parte di 'meta_query'
non funziona nel codice.
Commenti
Tutte le risposte alla domanda
1
0
Stai utilizzando una meta query senza impostare un valore. Il modo in cui lo stai facendo serve per interrogare i post, non per ordinarli.
Utilizzo di Meta Query Denominate
Per ordinare i tuoi post in base a diversi metadati, puoi assegnare un nome alle tue meta query e poi utilizzarlo per impostare l'ordinamento. Ecco un semplice esempio:
$args = array(
'meta_query' => array(
'relation' => 'AND',
'query_one' => array(
'key' => 'key_one',
'value' => 'value_one', // Opzionale
),
'query_two' => array(
'key' => 'key_two',
'compare' => 'EXISTS', // Opzionale
),
),
'orderby' => array(
'query_one' => 'ASC',
'query_two' => 'DESC',
),
);
Puoi consultare questa sezione della pagina del codex per WP_Query()
per familiarizzare con l'ordinamento dei post.

Johansson
15.4K
28 ago 2017 17:04:13
Domande correlate
2
risposte