Come mostrare post senza meta_key specifica con query_posts in WordPress

27 set 2010, 13:59:05
Visualizzazioni: 989
Voti: 0

Sto utilizzando query_posts per ordinare alcune categorie in modo specifico. Il mio codice è questo:

query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');

Questo mostra i post esattamente nell'ordine che ho specificato. Tuttavia, la query sopra non mostra i post che non hanno il meta_key 'field_ordering' impostato nel database.

Il mio problema è che non voglio impostarlo su TUTTI i post, ma voglio comunque poter visualizzare i dati.

Qualche soluzione?

0
Tutte le risposte alla domanda 1
0

Bene, non puoi ordinare per un campo che non esiste. Puoi modificare la query condizionalmente solo in quelle categorie che hanno quel campo e lasciare che la query predefinita funzioni nelle altre.

Sarebbe qualcosa come:

if( is_category('abs') )
    query_posts(
    array_merge(
    array('orderby' => 'meta_value', 
                  'meta_key' => 'field_order', 
                  'order' => 'Desc' ),
    $wp_query->query
        )
    );
27 set 2010 14:44:10