我有一个搜索查询,我限制在自定义帖子类型中搜索。当返回内容时,我将其按元值排序。后元是一个人的位置。
下面的函数按预期工作,但我需要拉动帖子并按特定顺序对其进行排序。
function kg_search_filter( $query ) {
if( is_search() && ! is_admin() && $query->is_main_query() ) {
$initial = ( !empty( $_GET[\'pro_search_initial\'] ) ) ? $_GET[\'pro_search_initial\'] : "";
$expertise = ( !empty( $_GET[\'pro_search_expertise\'] ) ) ? $_GET[\'pro_search_expertise\'] : "";
$office = ( !empty( $_GET[\'pro_search_office\'] ) ) ? $_GET[\'pro_search_office\'] : "";
$query->set( \'post_type\', array(\'professional\') );
if( $office ) {
$query->set( \'tax-location\', $office );
}
if ( $expertise ) {
$query->set( \'tax-expertise\', $expertise );
}
if ( $initial ) {
$query->set( \'meta_query\', array(
array(
\'key\' => \'professional_last_initial\',
\'value\' => $initial,
\'compare\' => \'=\'
)
));
}
$query->set( \'posts_per_page\', 10 );
$query->set( \'meta_key\', \'professional_position\');
$query->set( \'orderby\', \'meta_value\');
$query->set( \'order\', \'DESC\');
}
}
add_filter( \'pre_get_posts\', \'kg_search_filter\' );
我想要的是:首先向所有有总统头衔的人展示,然后是所有副总统,然后是剩下的人。
我知道我可以使用多个循环作为this solution 建议,但我不确定如何在引用我的查询时使用pre\\u get\\u posts来实现第二个建议。