ワードプレスのget_the_term_list関数の使用方法・解説

概要

get_the_term_list関数は、投稿やページに関連付けられたターム(カテゴリーやタグなど)のリンク文字列を取得するために使用されます。この関数は、特に以下のような機能を実装する際によく利用されます:

  1. カテゴリーリストの表示
  2. タグクラウドの作成
  3. 関連投稿の表示
  4. カスタムタクソノミーのリスト表示
  5. 投稿メタ情報のカスタマイズ
  6. フロントエンドでの投稿フィルタリング
  7. SEO最適化のための構造化データの提供
  8. 投稿一覧のビジュアル要素のカスタマイズ

構文

get_the_term_list( $post_id, $taxonomy, $before, $sep, $after );

パラメータ

  • $post_id (int) – 対象の投稿またはページのID。
  • $taxonomy (string) – 取得したいタームのタクソノミー(例:カテゴリーやタグ名)。
  • $before (string) – 出力文字列の前に追加する文字列。
  • $sep (string) – ターム間に挿入する区切り文字列。
  • $after (string) – 出力文字列の後に追加する文字列。

戻り値

  • 取得したタームのリンク文字列(HTML形式)。タームが存在しない場合は空の文字列を返します。

関連する関数

バージョン

  • get_the_term_list関数は、WordPressのバージョン 2.9.0 以降で使用可能です。

コアファイルパス

  • /wp-includes/taxonomy.php

この関数のアクションでの使用可能性

アクション名 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: カテゴリーリストの表示

$post_id = get_the_ID();
echo get_the_term_list($post_id, 'category', '<span class="category-list">', ', ', '</span>');

このコードは、現在の投稿のカテゴリーを取得し、HTMLの<span>タグで囲んで表示します。

サンプル2: タグの表示

$post_id = get_the_ID();
echo get_the_term_list($post_id, 'post_tag', '<div class="tag-list">Tags: ', ', ', '</div>');

このコードは、現在の投稿に関連するタグをリスト形式で表示します。

サンプル3: カスタムタクソノミーのリンク表示

$post_id = get_the_ID();
echo get_the_term_list($post_id, 'custom_taxonomy', '<p>Related: ', ', ', '</p>');

このコードは、カスタムタクソノミーに基づいて関連するタームを表示します。

サンプル4: 投稿のカスタムメタ情報として表示

$post_id = get_the_ID();
$taxonomy_list = get_the_term_list($post_id, 'category', '', ', ');
if ($taxonomy_list) {
    echo '<div class="category-meta">Categories: ' . $taxonomy_list . '</div>';
}

このコードは、投稿のメタ情報としてカテゴリーを表示します。

サンプル5: タームがない場合の処理

$post_id = get_the_ID();
$terms = get_the_term_list($post_id, 'post_tag', '', ', ');
if (!$terms) {
    echo 'No tags available.';
} else {
    echo $terms;
}

このコードは、タグが存在しない場合は「タグがありません」と表示します。

この関数について質問する


上の計算式の答えを入力してください