このツールの使い方
WordPressの個別記事(single.php)や、記事一覧のループ内(archive.phpなど)で、「その記事が属しているカテゴリーやターム」を一覧表示するためのPHPコードを生成します。
- 出力したい対象(標準カテゴリー か カスタムタクソノミー)のブロックを選びます。
- HTMLの出力形式(リスト、div、囲まない)を選択します。
- リンクの有無やクラス付与などのオプションを選び、「コードをコピー」をクリックしてテンプレートファイルに貼り付けます。
このツールで生成されるコードは、WordPressの「メインループ内」で使用されることを前提としています。もしフッターやサイドバーなど、ループの外で現在の記事のカテゴリーを取得したい場合は、
get_the_terms( $post->ID, '...' )
の
$post->ID
に、明示的に取得したい記事のID(または
get_queried_object_id()
など)を渡す必要があります。
標準カテゴリー(get_the_category)について
get_the_category()
は、現在の投稿に紐づく「標準のカテゴリー」の配列を取得する関数です。
取得される配列は、デフォルトで「カテゴリー名のアルファベット順(あいうえお順)」になります。この関数自体には、並び順の変更や特定のカテゴリーを除外するパラメータは用意されていません。
(※もし出力順を制御したい場合は、取得した配列に対してPHPの
usort()
などを用いて独自にソート処理を行う必要があります。)
カスタムタクソノミー(get_the_terms)について
get_the_terms( $post_id, $taxonomy )
は、指定した投稿に紐づく「カスタムタクソノミー(ターム)」の配列を取得します。
タクソノミーが存在しない、または紐づくタームがない場合は
false や
WP_Error
オブジェクトを返すことがあるため、ジェネレーターの出力コードには
! is_wp_error( $terms )
という安全確認(エラー回避)の記述を含めています。これも標準カテゴリー同様、並び順はデフォルトで名前順となります。
💡 Tips:サイト全体のカテゴリー一覧を出したい場合は?
このツールはあくまで「いま見ている記事のカテゴリー」を出力するものですが、サイドバーなどで「サイトに存在するすべてのカテゴリー一覧」を表示したい場合は、以下の関数を使用します。
関数によって「HTMLが自動で出力されるか」「生のデータ(配列)が返ってくるか」が異なります。目的に合わせて使い分けてください。
-
① wp_list_categories()
自動的にリンク付きのリスト(
<li>タグ)を生成して出力します。サイドバーの「カテゴリー一覧」などでそのまま使いたい時に便利です。<!-- 出力されるHTMLのイメージ -->
<li class="cat-item cat-item-1"><a href="https://...">お知らせ</a></li>
<li class="cat-item cat-item-2"><a href="https://...">ブログ</a></li> -
② wp_dropdown_categories()
自動的にセレクトボックス(
<select>タグ)を生成して出力します。ブログの絞り込み検索フォーム内などで活躍します。<!-- 出力されるHTMLのイメージ -->
<select name="cat" id="cat" class="postform">
<option value="-1">カテゴリーを選択</option>
<option class="level-0" value="1">お知らせ</option>
</select> -
③ get_categories() または get_terms()
HTMLは一切出力されません。カテゴリーの情報が詰まった「生のデータ(配列)」だけを取得します。特定の順番(記事数が多い順など)で並び替えたり、独自の複雑なHTML(サムネイル画像を含める等)で出力したい場合は、この関数でデータを取得してから、自分で
foreachを書いてHTMLを組み立てます。// 取得できるデータのイメージ(※HTMLではありません)
Array (
[0] => WP_Term Object ( [term_id] => 1, [name] => お知らせ, [count] => 5 ... )
[1] => WP_Term Object ( [term_id] => 2, [name] => ブログ, [count] => 12 ... )
)
🔗 関連ツール
- カスタム投稿タイプ生成ツール — タクソノミーの登録コードもあわせて生成
- WP_Query 安全生成ツール — タクソノミーやタームを条件にした記事一覧取得
- 実戦コピペスニペット集 — ループまわりのよく使うスニペット