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?

È stato utile?

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
scroll top