query personalizzata con query_posts non mostra post senza certo meta_key
-
16-10-2019 - |
Domanda
sto usando query_posts al tipo di ordinamento alcune categorie. Il mio codice simile al seguente:
query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');
Questo fa spettacolo postale di smistamento esatto modello come specificata.
Tuttavia, interrogazione di cui sopra non mostra che il post non ha meta_key
'field_ordering' impostato nel database.
Il mio problema è che io non voglio impostare su tutti i post, ma ho ancora in grado di visualizzare i dati.
Tutte le soluzioni?
Soluzione
Bene, non si può ordina per campo che non c'è. È possibile modificare interrogazione condizionalmente solo in quelle categorie che hanno quel campo e lasciare che il lavoro di ricerca predefiniti in resta.
Sarebbe qualcosa come:
if( is_category('abs') )
query_posts(
array_merge(
array('orderby' => 'meta_value',
'meta_key' => 'field_order',
'order' => 'Desc' ),
$wp_query->query
)
);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange