即使meta_key
尽管已弃用,但仍需要让orderby正常工作。
然而,首先也是最重要的是,您的代码有一个错误,这就是在使用order_by
而不是orderby
(orderby参数中没有下划线)。
试一试,看看效果如何。
$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\',
) );
如果要添加第二个元键并按该键排序,只需确保该键位于
meta_key
arg,例如。
$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\',
) );
奇怪的是你需要
meta_key
对于排序,但如果没有它,我看不到orderby得到尊重,我可以看到查询在里面是如何显示的
debug bar\'s查询选项卡,据我所知
meta_key
当前需要进行适当排序
meta_value
.