Comme vous le savez, depuis WP3.0, il existe des options pour les requêtes avancées personnalisées, ce qui est excellent. De ce fait, certains paramètres de requête de champs personnalisés tels que meta_key, meta_value étaient obsolètes pour le nouveau paramètre meta_query ( voir ici ).
J'essaie d'avoir une requête assez simple avec la nouvelle syntaxe, interroger les messages d'un certain post_type (services) contenant une méta_key spécifiée (order_in_archive) - cela se déroule comme prévu. Mais - je veux passer commande par la meta_value, et sans succès.
Ceci est ma requête -
query_posts(
array( 'post_type' => 'services',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_query' => array(
array('key' => 'order_in_archive'))
)
);
J'ai essayé orderby également par meta_value_numeric et meta_value, mais dans tous les cas, les résultats sont classés par date de publication (comme le font les publications classiques). Quelqu'un sait comment cela peut être fait?
Merci
la source
Le WP Codex est réellement déroutant lorsqu'il aborde ce problème.
Vous n'avez pas réellement besoin du paramètre meta_query pour utiliser orderby, mais du paramètre meta_key, qui a été créé ici même si WP Codex est obsolète: Comment utiliser orderby avec meta_query dans Wordpress 3.1? cette commande a toujours besoin de la meta_key.
il devrait être
la source
C'est facile:
Voici mon code:
Le détail principal est: include
meta_key
, mon code n’a pas été commandé à moins qu’il nemeta_key
soit inclus, et c’est tout:Voici le code complet d'une liste de
directors
photos classées pardirector_weight
:la source
N'utilisez pas query_posts.
Utilisez le paramètres WP_Meta_Query
la source
J'ai trouvé que cela fonctionne assez bien.
la source
meta_query
paramètre new-ish et comment l’utiliserorderby
, et non pas le plus ancien mais toujours fonctionnelmeta_key
/meta_value
paramètres paramètres . Aussi, n'encourageons pas l'utilisation dequery_posts
.J'ai eu un ensemble de dates d'événements personnalisés que je devais trier par date décroissante. Étant donné que ma date d'événement personnalisé était stockée dans ma table wp_postmeta et était généralement différente de la date de post_date ou des dates modifiées, cela fonctionnait pour moi:
Vous pouvez ensuite parcourir $ posts comme ceci:
la source
Ce travail pour moi,
Nécessaire uniquement pour fournir la clé pour la clause order_clause
la source