WordPressでカテゴリ一覧を表示する方法【結論:get_categories関数を使おう】

WordPressでカテゴリ一覧をヘッダー・フッター・サイドバーに表示したい。
また、出力条件を色々と加えたい。
本記事ではこのような悩みを解決。
実装方法について解説します。
実装コード
<ul class="category-list">
<?php
$categories = get_categories();
foreach ($categories as $category) :
$category_link = get_category_link($category->cat_ID);
?>
<li><a href="<?php echo $category_link; ?>"><?php echo $category->name; ?></a></li>
<?php endforeach; ?>
</ul>
カテゴリ一覧を出力する実装コードです。
get_categories関数を使う事でWordPressに登録されてるカテゴリを配列で取得できます。
foeach
を使って上記配列から値を取り出し、カテゴリ登録されてる数だけループ・実行します。
foreach
内で以下コードを追加する事でカテゴリ名・リンク先URLを出力できます。
カテゴリページへのリンクURLget_category_link($category->cat_ID);
カテゴリ名$category->name;
以上で実装完了です。
出力条件を変更したい
<ul class="category-list">
<?php
$args = array(
'orderby' => 'id',//並び順をID順に変更
);
$categories = get_categories($args);
foreach ($categories as $category) :
$category_link = get_category_link($category->cat_ID);
?>
<li><a href="<?php echo $category_link; ?>"><?php echo $category->name; ?></a></li>
<?php endforeach; ?>
</ul>
出力条件を変更したい場合はget_categories
の引数にパラメータを指定します。
$argsに定義されてる連想配列内に条件を変えるパラーメータを指定します。
上記コード例だとorderby
を使ってカテゴリの並び順をID順に変更する条件を加えてます。
設定出来るパラメータ一覧は以下記事をご参考ください。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_categories
まとめ
自作でWordPressテーマを作成してる方にご参考なるかと思います。
以上で解説を終わります。