wp-job-manager在列表末尾显示过期优惠

时间:2017-09-28 13:58:23

标签: php wordpress

我试图在没有运气的情况下解决这个问题,在ajax列表中我想对列表进行排序,以便过期的列表结束。

我已尝试使用此过滤器

plugins: {
   datalabels: {
      display: false
   }
}

我注意到代码改变了订单,但没有改变我想要的方式。

我尝试更改不同的参数(您可以看到引用的部分)更改: mata_value_num meta_value 添加删除元查询参数但没有运气。

2 个答案:

答案 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 );