WordPressの検索結果一覧ページでの記事の表示順ですが、バージョン3.7から「日付順」ではなく「関連度順」というルールに変更になっています。
どちらが良いかはサイトに寄るかと思いますが、「ブログ記事一覧が日付順だから検索結果の記事も日付順に並べたい」という場合もあるかと思います。
そこで今回は、投稿やカスタム投稿記事の検索結果を、日付順や指定した順序(menu_order)で並び替える方法を紹介させていただきます。
ブログやカスタム投稿の検索結果を日付やmenu_orderの順に変更
まずは日付順で並び替える場合ですが、ご利用のテーマのfunctions.phpに以下のようなコードを追加します。
1 2 3 4 |
add_filter('posts_search_orderby', custom_posts_search_orderby); function custom_posts_search_orderby() { return 'post_date'; } |
なお、「降順」「昇順」の指定も可能です。
1 2 3 4 |
add_filter('posts_search_orderby', custom_posts_search_orderby); function custom_posts_search_orderby() { return 'post_date asc'; } |
また、並び順を日付ではなく「順序(menu_order)」にしたい場合は、functions.phpで以下のように指定します。
1 2 3 4 |
add_filter('posts_search_orderby', custom_posts_search_orderby); function custom_posts_search_orderby() { return 'menu_order'; } |
コメント