Apesar de o meta_key
ter sido descontinuado, ainda é necessário fazer com que o orderby funcione corretamente.
Antes de mais nada, existe um erro com o seu código, e isso está em usar order_by
e não orderby
(não há sublinhado na ordem by arg).
Dê uma chance e veja como isso funciona para você.
$event_query = new WP_Query( array(
'post_type' => 'event',
'meta_key' => 'event-month',
'meta_query' => array(
array(
'key' => 'event-month',
'value' => date("n"),
'compare' => '=',
'type' => 'NUMERIC'
)
),
'orderby' => 'meta_value',
'order' => 'asc',
) );
Se você deseja adicionar uma segunda meta-chave e classificar por essa chave, apenas certifique-se de que a chave esteja dentro de meta_key
arg, por exemplo.
$event_query = new WP_Query( array(
'post_type' => 'event',
'meta_key' => 'some-key',
'meta_query' => array(
array(
'key' => 'some-key',
'value' => 'whatever',
'compare' => '=',
'type' => 'NUMERIC'
),
array(
'key' => 'event-month',
'value' => date("n"),
'compare' => '=',
'type' => 'NUMERIC'
)
),
'orderby' => 'meta_value',
'order' => 'asc',
) );
É estranho que você precise de meta_key
para o tipo, mas não vejo a orderby sendo respeitada sem ela, posso ver como a consulta aparece dentro de guia de consultas da barra de depuração e, até onde eu sei, meta_key
é atualmente necessário para obter uma classificação apropriada em meta_value
.