Come usi orderby con meta_query in Wordpress 3.1?
2 risposta
- voti
-
- 2011-03-02
ilnuovo array
meta_query
selezionai post restituiti dalla query.Quindi sì,staiindicando la "chiave" all'interno di quelmeta_query
,mapuoi ancora utilizzareil vecchiometodo di'orderby' => 'meta_value', 'meta_key' => '_events_meta',
oltre allameta_query,poiché queste righeindicano come ordinare la query risultante.Quindi sì,potrestiindicare la stessameta_key due volte.
the new
meta_query
array selects which posts the query returns. So yes, you are indicating the 'key' within thatmeta_query
, but you can still use the old method of'orderby' => 'meta_value', 'meta_key' => '_events_meta',
in addition to the meta_query, as these lines indicate how to sort the resulting query. So yes, you might indicate the same meta_key twice.
-
Questa rispostanon è completamente corretta.Se aggiungi un orderbye unameta_key al difuori di unameta_queryesistente,il risultato verràeffettivamente ordinatoin base alla chiavefornita,maincluderà anche qualsiasipostin cui èimpostata quellameta chiave,anche seil valorenon soddisfai criterinellameta_query (almeno,è così che hafunzionatoperme intesting).Unmodomiglioreperfarlopotrebbeesserepassare un array come orderbyparam,come descritto qui: http://core.trac.wordpress.org/ticket/17065#comment:14This answer is not completely right. If you add an orderby and a meta_key outside of an existing meta_query, the result will indeed sort by the provided key--but it will also then include any post where that meta key is set, even if the value doesn't meet the criteria in the meta_query (at least, that's how it worked for me in testing). A better way to do this might be to pass an array as the orderby param, as described here: http://core.trac.wordpress.org/ticket/17065#comment:14
- 9
- 2012-04-03
- MathSmath
-
- 2011-03-02
Sto usandoil seguente codiceperi mieipostpersonalizzati chiamati
events
,per otteneretuttii postin un ciclo.$evtLoop = new WP_Query(array('post_type' => 'events', 'posts_per_page' => 10, 'orderby' => 'meta_value', 'meta_key' => '_events_meta', 'order'=>'DESC'));
Penso chetu stia utilizzandoiltuo codicepiù omeno allo stessomodo.Penso cheti manchi la
meta_key
conilnome delmeta-campo da ordinare.Forse aiuta se aggiungi'meta_key' => 'webinar_startDate',
all'arrayesterno?
I'm using the following code for my custom posts called
events
, to get all posts in a Loop.$evtLoop = new WP_Query(array('post_type' => 'events', 'posts_per_page' => 10, 'orderby' => 'meta_value', 'meta_key' => '_events_meta', 'order'=>'DESC'));
I think you are using your code approximatly the same way. I think you are missing the
meta_key
with the name of the meta-field to sort. Perhaps it helps if you add'meta_key' => 'webinar_startDate',
to the outer array?
-
Ora vedo.Ero confuso dalla documentazione di Wordpress che diceva che "meta_key"e "meta_value"erano stati svalutati.Hopensato che ciò significasse chenonpotevo usarli,ma credo chefossefuorviante.Grazie!I see now. I was confused by the Wordpress documentation that said 'meta_key' and 'meta_value' were depreciated. I assumed that meant I couldn't use them, but I guess that was misleading. Thanks!
- 0
- 2011-03-02
- Jeff K.
Èpossibile ordinareilmioelenco dipostpersonalizzati,dopo averlofiltrato conmeta_query,in base aimetadati dimia scelta?
Adesempio,ho untipo dipostpersonalizzato chiamato webinar. Sto cercando dielencaretuttii prossimi webinare di ordinarliin base almetacampopersonalizzato chiamato webinar_startDate.
Utilizzando la seguente query,sono statoin grado di restituirei webinar con successoescludendoi vecchi webinar. Tuttavia,escono ancoranell'ordinein cui sono statipubblicatie nonentro webinar_startDate.
Sospetto che a causa delpassaggio da 3.0 a 3.1,l'uso di orderby=>meta_value siaprobabilmente diverso,manon riesco atrovare una rispostanella documentazione di WordPressper spiegarlo.
Qualcunopuò aiutare? Graziein anticipo.