¿Cómo se usa orderby con meta_query en Wordpress 3.1?
2 respuestas
- votos
-
- 2011-03-02
lanuevamatriz
meta_query
selecciona quépublicaciones devuelve la consulta.Entonces sí,estáindicando la 'clave' dentro deesemeta_query
,pero aúnpuede usarelmétodo anterior de'orderby' => 'meta_value', 'meta_key' => '_events_meta',
además de lameta_query,ya queestas líneasindican cómo ordenar la consulta resultante.Así que sí,puedeindicar lamismameta_key dos veces.
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.
-
Esta respuestanoes deltodo correcta.Si agrega un orderby y unameta_keyfuera de unameta_queryexistente,el resultado se ordenarápor la claveproporcionada,perotambiénincluirá cualquierpublicación donde seestablezcaesameta clave,incluso siel valorno cumple con los criteriosen lameta_query (almenos,asíes comofuncionóparamíen laspruebas).Unamejormanera de hacerestopodría serpasar unamatriz como orderbyparam,como se describe aquí: 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
Estoy usandoel siguiente códigoparamispublicacionespersonalizadas llamadas
events
,para obtenertodas laspublicacionesen unbucle.$evtLoop = new WP_Query(array('post_type' => 'events', 'posts_per_page' => 10, 'orderby' => 'meta_value', 'meta_key' => '_events_meta', 'order'=>'DESC'));
Creo queestá utilizando su código aproximadamente de lamismamanera.Creo que lefaltael
meta_key
conelnombre delmetacampopara ordenar.Quizás sea útil agregar'meta_key' => 'webinar_startDate',
¿a lamatrizexterna?
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?
-
Ya lo veo.Estaba confundidopor la documentación de Wordpress que decía que 'meta_key' y 'meta_value'estaban depreciados.Supuse queeso significaba quenopodía usarlos,pero supongo queeraengañoso.¡Gracias!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.
¿Esposible ordenarmi lista depublicacionespersonalizadas,después defiltrarla conmeta_query,por losmetadatos demi elección?
Porejemplo,tengo untipo depublicaciónpersonalizada llamada seminarios web. Estoytratando deenumerartodos lospróximos seminarios web y ordenarlosporelmetacampopersonalizado llamado webinar_startDate.
Con la siguiente consulta,pude devolver los seminarios web con éxitoexcluyendo los seminarios web anteriores. Sinembargo,siguen apareciendoen el ordenen que sepublicaron ynoen webinar_startDate.
Sospecho que debido al cambio de 3.0 a 3.1,el uso de orderby=>meta_valueesprobablemente diferente,peronopuedoencontrar una respuestaen la documentación de WordPressparaexplicaresto.
¿Alguienpuede ayudar? Gracias de antemano.