WordPress のデフォルトの検索結果は 3.7 以降関連度順になっているのですが、これだと少々不便……ということがあったので、サクッと変更しました。
サンプルコード (プラグインのケース)
<?php
/*
Plugin Name: Sort Date Desc My Plugin
Description: 検索結果を日付順でソートする
Author: My Name
Version: 0.1
*/
function posts_sort_order_by_date_desc ()
{
return 'post_date desc';
}
add_filter('posts_search_orderby', 'posts_sort_order_by_date_desc');
- 関数を
posts_search_orderby
のアクションフックに引っかける - 関数の戻り値にSQL文 の
ORDER BY
の後ろに付く文字列を指定する
という感じで良いようです。