Como você usa a Oração com Meta_Query no Wordpress 3.1?
2 respostas
- votos
-
- 2011-03-02
Onovo
Meta_Query
Array Selects,quepublica a consulta retorna.Então sim,vocêestáindicando a 'chave' dentro dessemodoMeta_Query
,mas você aindapode usar ométodo antigo de'Orderby'=>'Meta_Value', 'meta_key'=>'_Events_meta',
Além do META_Query,comoessas linhasindicam como classificar a consulta resultante.Então sim,vocêpodeindicar omesmometa_key duas vezes.
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 respostanãoestá completamente certa.Se você adicionar umpedidoe ummeta_keyfora de um Meta_Queryexistente,o resultado será defato classificarápela chavefornecida -mastambémincluirá qualquerpost de onde ameta é definida,mesmo que o valornão atenda aos critériosNo Meta_Query (pelomenos,é assim quefuncionouparamim emtestes).Umamaneiramelhor defazerissopode serpassar umamatriz como a OrdemBy Param,conforme descrito aqui: 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
Estou usando o código a seguirparameuspostspersonalizados chamados
events
,para obtertodas aspostagensem um loop.$evtLoop = new WP_Query(array('post_type' => 'events', 'posts_per_page' => 10, 'orderby' => 'meta_value', 'meta_key' => '_events_meta', 'order'=>'DESC'));
Eu acho que vocêestá usando seu código de aproximadamente damesmamaneira.Eu acho que vocêestáperdendo o
meta_key
com onome dometa-campopara classificar.Talvez ajude se você adicionar'meta_key' => 'webinar_startDate',
para amatrizexterna?
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?
-
Eu vejo agora.Fiquei confuso com a documentação do WordPress que disse 'meta_key'e 'meta_value'foram depreciados.Eu assumi queisso significava quenãopodia usá-los,mas acho quefoienganosa.Obrigado!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.
Épossívelencomendarminha lista depostspersonalizados,depois defiltrá-lo com Meta_Query,pelosmetadados daminhaescolha?
Porexemplo,eutenho umtipo depostagempersonalizado chamado webinars. Euestoutentando listartodos ospróximos webinars,e tê-lospedidospelo Custom Meta Field chamado Webinar_Startdate.
Usando a seguinte consulta,pude devolver os webinarsexclusivamenteexcluindo os antigos webinars. Noentanto,eles ainda saemna ordemem queforampublicadose nãopor webinar_startdate.
Eu suspeito que devido àmudança de 3,0 a 3.1,o uso do Orderby=> Meta_Value éprovavelmente diferente,masnão consigoencontrar uma resposta dentro da documentação do WordPressparaexplicarisso. Alguémpode ajudar? Agradecemos antecipadamente.