現役エンジニア・デザイナーの備忘録ブログ

2023.6.3
Wordpress

【WordPress】プラグインを使わずにカテゴリやカスタムタクソノミーの順番を変更する

投稿のカテゴリーリストを作成するとき、任意の順番で表示させたい場合があると思います。そんな時は「説明」の箇所に数字を振っていくとで、コントロールできます。これは通常の投稿でもカスタム投稿でも同じ手順で実装可能です。

【WordPress】プラグインを使わずにカテゴリやカスタムタクソノミーの順番を変更する

  • やりたいこと
  • ・カテゴリを任意の順番で入れ替えたい
  • ・投稿カテゴリの一覧をリンク付きで表示したい

 

まずは、カテゴリの設定画面から「説明」の欄に、表示させたい順番から小さい数字を入力していきます。【WordPress】プラグインを使わずにカテゴリやカスタムタクソノミーの順番を変更する

 

既に登録済の場合は「編集」から入力することが出来ます。

【WordPress】プラグインを使わずにカテゴリやカスタムタクソノミーの順番を変更する

これで準備は完了です。

 

次に、カテゴリ一覧を表示させたいところに以下のコードを記述します。コピペでOKです。

<ul>
<?php
$args = array(
'orderby' => 'description',
);
$categories = get_categories( $args );
?>
<?php foreach($categories as $category) : ?>
<li>
<a href="<?php echo get_category_link( $category->term_id ); ?>"><?php echo $category->name; ?></a>
</li>
<?php endforeach; ?>
</ul>

‘orderby’ => ‘description’,

descriptionは「説明」という意味です。カテゴリの編集画面の説明欄に入力した内容が反映されます。説明の欄に入力した数字の小さい順にカテゴリーが反映されます。

こちらのコードはカテゴリ一覧のリンク付きで、カテゴリ名も自動で反映されます。

 

カスタム投稿の場合は’taxonomy’を指定してあげましょう。’taxonomy’ => ‘tax’,の「tax」の部分に任意のタクソノミー名を入れてください。

<ul>
<?php
$termargs = array(
'taxonomy' => 'tax',
'orderby' => 'description',
);
$terms = get_terms($termargs);
foreach ( $terms as $term ) {
echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
}
?>
</ul>

 

以上で実装は完了です!ご活用ください。

関連記事