requête personnalisée avec query_posts ne montre pas après sans certains meta_key
-
16-10-2019 - |
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?
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