我试图在没有运气的情况下解决这个问题,在ajax列表中我想对列表进行排序,以便过期的列表结束。
我已尝试使用此过滤器
plugins: {
datalabels: {
display: false
}
}
我注意到代码改变了订单,但没有改变我想要的方式。
我尝试更改不同的参数(您可以看到引用的部分)更改: mata_value_num 到 meta_value 添加删除元查询参数但没有运气。
答案 0 :(得分:0)
根据我的理解,您希望通过_job_expires ASC对未过期的ASC进行排序,然后通过DESC显示过期的ASC。这必须在2个单独的查询中完成。你可以在那之后合并两个数组
编辑:合并2个单独的查询'结果如下
//setup your queries as you already do
$query1 = new WP_Query($args_for_query1);
$query2 = new WP_Query($args_for_query2);
//create new empty query and populate it with the other two
$wp_query = new WP_Query();
$wp_query->posts = array_merge( $query1->posts, $query2->posts );
//populate post_count count for the loop to work correctly
$wp_query->post_count = $query1->post_count + $query2->post_count;
答案 1 :(得分:0)
这就是我开始工作的方式
public function depcore_custom_orderby( $query_args ) {
// Use meta_value_num for numeric sorting (if issues with meta_value)
$query_args[ 'orderby' ] = 'meta_value';
$query_args[ 'order' ] = 'DESC';
return $query_args;
}
public function depcore_custom_orderby_query_args( $query_args ) {
$query_args[ 'meta_key' ] = '_job_expires';
return $query_args;
}
因为我正在使用插件样板,所以过滤器调用用于插件公共部分
$this->loader->add_filter( 'job_manager_get_listings_args', $plugin_public, 'depcore_custom_orderby', 99 );
$this->loader->add_filter( 'get_job_listings_query_args', $plugin_public,'depcore_custom_orderby_query_args', 99 );