WordPressでサイトのフッターやサイドバー、パンくずリストを制作する際、「今表示している記事のタグ名だけ欲しい」といったニーズは頻繁に発生しますよね。
しかし、これらの情報を取得する方法を毎回検索するのは非効率です。
実は、WordPressには、現在表示しているページの情報を簡単かつ確実に取得できる組み込み関数が用意されています。
この記事では、特に実務で役立つ以下の4つの情報取得コードについて、2025年最新の仕様に基づいた具体的な使い方を解説します!
①WordPressで「タグ」名を取得するコードとその活用法
記事に設定されたタグ名を取得したい場合、the_tags() や get_the_tag_list() などの関数がありますが、単なる「名前」だけを、リスト形式ではなく任意の場所で使いたいケースも多いです。【基本コード】タグ名(リンク付き)をシンプルに取得
以下、投稿記事の個別ページ(single.phpなど)で、その記事に付与された全てのタグを取得し、リスト表示する標準的なコードです。|
1 2 3 4 |
<?php // get_the_tag_list( $before, $sep, $after, $post_id ) echo get_the_tag_list('<ul><li>','</li><li>','</li></ul>'); ?> |
get_the_tag_list()は、タグをHTMLのリスト形式で出力する最も一般的な関数です。
第一引数でリストの前に挿入する文字列 (<ul><li>)、第二引数でタグ間の区切り (</li><li>)、第三引数でリストの後に挿入する文字列 (</li></ul>) を指定します。これでタグ名とリンクが自動的に付与されます。
【実践的な活用】先頭のタグ名だけを取得してクラス名などに利用
タグをCSSのクラス名や見出しとして使いたいなど、「リンクは不要」で「最初の1つだけ」必要な場合のコードです。|
1 2 3 4 5 6 7 8 9 |
<?php $tags = get_the_tags(); // 現在の投稿のタグ情報を配列で取得 if ( $tags ) { // 最初のタグの名前(name)だけを出力 $first_tag_name = $tags[0]->name; // エスケープ処理を忘れずに echo esc_html($first_tag_name); } ?> |
get_the_tags()で取得できるのはオブジェクトの配列です。
配列の $tags[0] で最初のタグ情報にアクセスし、その中の ->name プロパティを取り出すことで、タグ名のみを取得できます。
②WordPressで「カテゴリ」名を取得するコードと実践的な制御
カテゴリ名も、タグ名と同様に頻繁に取得が求められる要素です。カテゴリは階層構造を持つため、タグよりも取得方法のバリエーションが多くなります。
【基本コード】親カテゴリを無視し、子カテゴリ名だけを取得
投稿記事の個別ページで、その記事が属する全ての子カテゴリ名(リンク付き)を取得し、表示するコードです。|
1 2 3 4 5 6 7 8 |
<?php // get_the_category() は投稿が属するカテゴリをオブジェクトの配列で返す $categories = get_the_category(); if ( ! empty( $categories ) ) { // 最初のカテゴリ名のみ(リンク付き) echo '<a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">' . esc_html( $categories[0]->name ) . '</a>'; } ?> |
get_the_category()関数は、カテゴリ情報をオブジェクトの配列で取得します。
この配列から、例えば $categories[0] を指定することで、記事に最初に割り当てられた(あるいはIDの若い)カテゴリの情報を抜き出せます。
リンクが必要な場合は、get_category_link() を組み合わせて使うのがセオリーでしょう。
【実践的な活用】現在のカテゴリアーカイブページのカテゴリIDを取得
カテゴリのアーカイブページ(category.phpなど)で、現在表示しているカテゴリのIDを正確に取得し、そのIDを元に「同じカテゴリの関連記事」を抽出する際などに役立ちます。|
1 2 3 4 5 6 7 8 9 10 11 |
<?php // is_category() が真(カテゴリアーカイブページ)の場合に実行 if ( is_category() ) { // get_queried_object() で現在のクエリのオブジェクトを取得 $current_cat = get_queried_object(); // オブジェクトからカテゴリIDを取得 $cat_id = $current_cat->term_id; echo '現在のカテゴリID: ' . $cat_id; } ?> |
get_queried_object()は、WordPressのメインクエリで現在対象となっているオブジェクト(カテゴリ、タグ、投稿など)を返します。
カテゴリページではカテゴリのタームオブジェクトを返すため、->term_id で正確なIDが取得できるのです。これは覚えておくと非常に便利です。
③WordPressで「検索キーワード」名を取得するコード
サイト内検索の結果ページ(search.php)などで、「あなたは『〇〇』で検索しました」といったメッセージを表示する際、ユーザーが入力したキーワード名を取得する必要があります。【基本コード】ユーザーが入力した検索キーワードを取得
検索結果ページでのみ機能する、ユーザーがフォームに入力した生(なま)のキーワードを取得するコードです。|
1 2 3 4 5 6 7 8 9 |
<?php // is_search() が真(検索結果ページ)の場合に実行 if ( is_search() ) { // get_search_query() で検索キーワードを取得 $search_keyword = get_search_query(); echo '<h4>「' . esc_html($search_keyword) . '」の検索結果</h4>'; } ?> |
get_search_query()関数は、URLのクエリパラメータ ?s= に含まれる文字列、つまりユーザーが入力した検索キーワードを返します。
この関数を使うことで、URLのパラメータを直接操作するよりも安全で確実にキーワードを取得できます。
【実践的な活用】キーワードが空白だった場合の対策
ユーザーが検索フォームに何も入力せずにエンターを押した場合や、不正なURLアクセスがあった場合でも、メッセージが破綻しないように条件分岐を入れておくと安心です。|
1 2 3 4 5 6 7 8 9 10 |
<?php $keyword = get_search_query(); if ( ! empty( $keyword ) && is_search() ) { echo '<span>検索ワード: </span>' . esc_html($keyword); } else if ( is_search() ) { // キーワードが空だが検索ページである場合 echo '<span>キーワードなしで検索されました</span>'; } ?> |
! empty( $keyword ) のチェックを入れることで、キーワードが本当に存在する場合にのみ表示を行うようになります。
検索クエリの取得には、セキュリティのためのエスケープ処理 (esc_html()) を忘れずに適用しましょう。
【まとめ】この3コードがあなたの制作をレベルアップさせます!
本記事で解説した3つの情報取得コードは、WordPressサイトの動的な要素を制作する上で非常に重要な基礎技術です。- タグ名・カテゴリ名取得: 記事のメタ情報を柔軟に扱い、パンくずや関連記事リストを正確に構築できます。
- 検索キーワード取得: 検索結果ページでユーザーフレンドリーなメッセージを実現します。
これらの関数を単に「覚える」だけでなく、今回示したような if 文による条件分岐や配列操作と組み合わせることで、テーマ開発スキルは確実に一段階アップするでしょう。
ぜひ、今日からあなたのテーマ制作に取り入れてみてください!


コメント