WordPressでタグページだけカスタムフィールドの「ふりがな」をキーにして五十音順にソートする方法

更新日: 2023/04/06 投稿日: 2023/04/06

WordPressでタグのページの時だけ、五十音順(あいうえお順)で表示したいことがありまして、そのやり方を調べてみました。
今回はカスタムフィールドに「ふりがな」を入力する項目を作成して、それを基準に並べ替えるようにしました。

query_posts()を使う方法が検索上位に出てきたのですが、query_posts()は現在では非推奨になっているらしく、pre_get_postsを利用するらしいです。
しかし、WordPressに関する情報は古いものが多くて、最新の情報にたどり着くまでが大変ですよね(´・ω・`)

実装方法

「functions.php」ファイルに上記のコードを入力するだけで実装できました。
「functions.php」ファイルがない場合は、まず先に「functions.php」ファイルを作成する必要があります。

pre_get_postsを使うと、「archive.php」ファイルの内容をいじらなくて済むのでとてもいいですね(๑•̀ㅂ•́)و✧

1行目の「posts_tag_sort_gojuon」の部分はわかりやすい名前に変更しても大丈夫です。
変更した際は、最後の行の「posts_tag_sort_gojuon」も同じ名前に変更してください。

6行目の「$query->set(‘meta_key’, ‘ふりがな’);」の「ふりがな」の部分はカスタムフィールド名ですので、ここもご自身の環境に合わせて変更してください。

8行目の「$query->set(‘order’, ‘ASC’);」はソート(並び替え)順の指定で、「ASC」は昇順(「あ」から始まる)で、逆に「ん(わ?)」から表示させたい場合は「DESC」と入力します。

5行目の「if ( $query->is_tag() ) {」の「is_tag」を「is_archive」に変更するとアーカイブページが表示された場合に表示順を変更するといったこともできます。

「elseif」等を使えばタグページとアーカーイブページとカテゴリーページでそれぞれ表示順を変更したりもできますね。

特定のカテゴリー以外の場合だけ、特定のタグの場合だけといったようなこともできます(๑•̀ㅂ•́)و✧

難しいコードを書く必要もなく、簡単にできてWordPressは便利ですね(*´∀`*)

多機能すぎて、やり方を調べるほうに時間がかかっちゃうのが難点ですが…(;^ω^)