Question

J'utilise query_posts à l'ordre de tri certaines catégories. Mon apparence de code comme ceci:

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

Ce modèle fait après show dans le tri exact que je précise. Cependant, la requête ci-dessus ne montre pas ce poste n'a pas meta_key « field_ordering » ensemble dans la base de données.

Mon problème est, je ne veux pas le mettre sur tous les post, mais je peux encore afficher les données.

Les solutions?

Était-ce utile?

La solution

Eh bien, vous ne pouvez pas trier par le champ qui est pas là. Vous pouvez modifier une requête sous condition que dans les catégories qui ont ce domaine et de laisser le travail de recherche par défaut dans le repos.

Il serait quelque chose comme:

if( is_category('abs') )
    query_posts(
    array_merge(
    array('orderby' => 'meta_value', 
                  'meta_key' => 'field_order', 
                  'order' => 'Desc' ),
    $wp_query->query
        )
    );
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top