让WordPress搜索结果页按照时间最新到最旧排序

针对页面结果排序的需求不少,自行客制化页面的排序都是看当下怎么写。 至于其他系统页面像是「搜索结果页」就有两种做法:

接手自己写过(继承页面)套 Hook 机制控制

这答案对我来说肯定是 2 ,套过 Hook 来处理就好。 避免把页面继承过来重新改写这么复杂!

主要是使用posts_orderby这个 Filter。

演示例如下:

function mxp_custom_search_results_order( $orderby, $query ){    global $wpdb;    if(is_search()){        $orderby =  "{$wpdb->prefix}posts.post_date DESC";    }    return  $orderby;}add_filter('posts_orderby','mxp_custom_search_results_order',11,2);

如此把搜索页面的排序结果调整一下就搞定啰!

相关文章