• HOME > 
  • WordPress > 
  • WPのカテゴリー内の項目(ターム)の表示順を変更【プラグイン...

WPのカテゴリー内の項目(ターム)の表示順を変更【プラグインなし】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像
広告
広告

WordPressにおいてカテゴリーの項目(ターム)を一覧表示させたときの表示順をプラグインを使わずに変更する方法を学んだので備忘録として残しておきます。

タームを自由な順序で表示させるには?

WPのget_terms関数などを使ってカテゴリーの項目(ターム)を取得すると、数字>英字>ひらがな>カタカナ>漢字の順で表示されます。

自由に順番を並べ替えてターム一覧を出力したい場合は何らかの処理を行う必要があります。

並び替えのためのプラグインもありますが、今回はプラグインを使わずにget_terms関数へ追記して並べ替えができるようにします。

【おさらい】タクソノミーに存在するタームの一覧を表示する

WPのデフォルト状態でのタームの並び順を確かめておくために、特定のタクソノミーのターム一覧を表示させる方法からおさらいしておきます。

例としてget_terms関数を使って投稿のカテゴリーに登録されている全てのタームを出力させてみます。

カスタムタクソノミーのタームをget_terms関数で出力する方法についてはこちらのページにまとめています。

なお、カテゴリー編集画面の状態は以下の通りです。

投稿のカテゴリー編集画面

テーマファイルの編集は、サイトに予期せぬ不具合をもたらす恐れがあります。必ずバックアップを取るなどしたうえで、自己責任で編集してください。

PHP

<ul>
    <?php
	$myTerms = get_terms('category');
	foreach($myTerms as $myTerm){
		echo "<li><a href='" . get_term_link($myTerm->term_id). "'>" . $myTerm->name . "</a></li>";
	}
    ?>
</ul>

3行目get_termsの第一引数に「category」を指定し、投稿ページ用カテゴリーに登録されている全てのターム情報を取得します。(※今回は投稿ページのカテゴリーを取得したいので「category」としています。カスタムタクソノミーの場合はそのスラッグを指定します。)

4行目foreachによるループを使って取得した情報をひとつづつHTMLに出力していきます。

WPのデフォルト状態でのタームの並び順は「数字>英字>ひらがな>カタカナ>漢字」なので、出力すると下図のように表示されます。

タームの一覧を表示する例

タームの表示順を変更する

こちらの例を思い通りの順番で表示させるようにするには、以下の2つの作業を行います。

  • get_termsの引数にorderby設定を追記
  • 各タームの「説明」欄を使って通し番号を設定

get_termsの引数にorderby設定を追加し、タームの「description(説明)」の値を基準に並び変わるように変更します。続いてタームの説明の欄に並び順に番号を登録していくという流れになります。

get_termsの引数にorderby設定を追記

はじめに、先ほどのターム一覧を出力するコードの「get_terms」の引数に「orderby」を追記します。

PHP

<ul class="list_terms">
<?php
    $myTerms = get_terms( 'category',array( 'parent' => 0, 'orderby' => 'description' ) );
    foreach($myTerms as $myTerm){
        echo "<li><a href='" . get_term_link($myTerm->term_id). "'>" . $myTerm->name . "</a></li>";
    }
?>	
</ul>

3行目「array('parent' => 0,'orderby' => 'description')」を加えることで、「description(説明文)」の順番で並ぶように設定を変更しています。

各タームの「説明」欄に通し番号を入力

続いて各タームごとに「編集」を押してターム編集画面を開き、「説明」欄に番号を入力していきます。

タームの説明欄に通し番号を入力

今回は、「お知らせ、スタッフブログ、新入荷、SALE情報」という並び順にしたかったので、下記のような番号を割り振りました。

タームの説明欄に通し番号を入力

ページを開いてターム一覧を表示し、並び順が変更されているか確認します。

並べ替え後のタームの一覧を表示する例

まとめ

以上が、WordPressでプラグインを使わずに投稿カテゴリー内の項目(ターム)の表示順を変更する方法です。

カテゴリーの情報を呼び出す際にひと手間加えるだけで自由に表示順を操作できるので是非試してみてください。

広告
広告

関連する記事

サムネイル

WPのカスタム投稿一覧表への列(カラム)の追加と並び替え【プ……

2024年12月03日
WPのカスタム投稿タイプを作ってサイトを構築していく中で、管理画面上での一覧ページに任意の列(カラム)を追加したり、表示順を並び替える方法を学んだので備忘録とし […]
サムネイル

WPのカスタム投稿タイプでカテゴリーやタグを設定できるように……

2024年12月03日
WordPressのカスタムタクソノミーを使ってカスタム投稿タイプにカテゴリーを設定する方法について学んだので備忘録としてまとめます。 カスタムタクソノミーとは […]
サムネイル

WPでカスタム投稿タイプを追加してページを分類する方法

2024年12月03日
WordPressのカスタム投稿機能を使ってぺージを分類する方法について学んだので備忘録としてまとめます。 カスタム投稿タイプとは? WordPressでは、標 […]
サムネイル

WPで下書きページを第三者と共有できるプラグイン【Publi……

2024年11月07日
WordPressにおける下書き状態のページは非ログイン状態では閲覧することができないので、新規追加予定ページをクライアントにチェックしてもらう時の良い方法を探 […]
サムネイル

WordPressの予約語とは?【カスタム投稿タイプ・カスタ……

2024年11月07日
WordPressのカスタム投稿タイプやカスタムタクソノミーを扱うにあたり、予約語について学んだので備忘録としてまとめます。 予約語とは? WordPressで […]
サムネイル

WPから送信したメールがGmailに届かない時の対応【WP ……

2024年08月01日
WordPressのCF7で作ったメールフォームから送信されたメールがGmailだと受信できなくなっていることに気づきました。WP側の送信方法を見直す必要があり、WP Mail SMTPというプラグインを導入することで解決できたので、そのとき学んだ内容を備忘録として残します。