我试图提出一个查询,以按多个orderby值进行排序。以下是我目前掌握的情况:
$dept_id=2;
$query=new WP_Query(array(
\'post_type\'=>\'wpcontactus\',
\'nopaging\'=>true,
\'post_status\'=>array(\'publish\', \'pending\', \'future\'),
\'meta_key\'=>\'wcu_dept\',
\'meta_value\'=>$dept_id,
\'orderby\'=>\'title\',
\'order\'=>\'ASC\'
));
我试图查询一个自定义帖子类型,并在该帖子类型中查询一个元值。
那么,我想先按menu_order
升序,然后按自定义元值wcu_lastname
提升但是,orderby值似乎无法获取数组。
如何使用多个orderby值对查询排序?
最合适的回答,由SO网友:Force Flow 整理而成
$query=new WP_Query(array(
\'post_type\'=>\'wpcontactus\',
\'nopaging\'=>true,
\'post_status\'=>array(\'publish\', \'pending\', \'future\'),
\'meta_query\'=>array(
array(\'key\'=>\'wcu_dept\',\'value\'=>$dept_id, \'compare\'=>\'=\'),
),
\'meta_key\'=>\'wcu_firstname\',
\'orderby\'=>\'menu_order wcu_firstname\',
\'order\'=>\'ASC\'
));
通过使用@kaiser建议的内容和
meta_query
选项,我可以得到我正在寻找的查询。
SO网友:Giang D.MAI
$args = [
\'s\' => $keyword,
\'post_type\' => [\'page\'],
\'paged\' => $paged,
\'posts_per_page\' => PAGE_LIMIT,
\'tax_query\' => [
[
\'taxonomy\' => TAX_RESOURCE_PAGE,
\'field\' => \'slug\',
\'terms\' => $c_term_slug
],
],
\'post_status\' => \'publish\',
\'meta_key\' => \'order\',
\'meta_type\' => \'NUMERIC\',
\'orderby\' => [
\'meta_value_num\' => \'ASC\',
\'ID\' => \'DESC\',
],
];
$wp_query = new WP_Query( $args );
我的代码就是一个例子。