get_term_meta()
は、WordPressのターム(カテゴリー、タグ、またはカスタムタクソノミー)のメタデータを取得するためのテンプレートタグです。タームに追加されたカスタムフィールドのデータを取得する際に使用されます。
機能の説明
get_term_meta()
は、特定のタームに関連するメタデータを取得します。
複数の投稿タイプにまたがるタクソノミーのデータを整理するのに便利です。
例えば、イベントや製品カテゴリーに特定のプロパティ(例:色、アイコンなど)を付与し、それを取得できます。
シンプルなコード例
$icon = get_term_meta(12, 'category_icon', true);
echo $icon;
タームIDが12のカテゴリーから 'category_icon'
というメタデータを取得し、表示しています。
使い方の解説
get_term_meta()
は、タームのIDとメタキーを指定することで、そのタームに保存された特定のメタデータを取得します。
引数
$term_id
-
メタデータを取得したいタームのID(整数)。
$meta_key
-
取得したいメタデータのキー名(文字列)。
$single
-
true
にすると単一の値を取得、false
にすると配列形式で全ての値を取得。
戻り値
- メタデータの値
-
メタキーに対応する値が返されます。存在しない場合は
false
を返します。
オプション
$single
-
true
の場合、メタデータの最初の値だけを返します。false
の場合、複数の値が存在する場合に配列で返します。
使用例
$color = get_term_meta(15, 'product_color', true);
if ($color) {
echo 'この製品の色は: ' . $color;
} else {
echo '色の情報はありません。';
}
get_term_meta()
: タームIDが15のタームからproduct_color
というメタデータを取得しています。- 条件分岐: メタデータが存在する場合は色を表示し、存在しない場合は「色の情報はありません」と表示します。
一緒に使うことが多い関連タグ
get_terms()
特定のタクソノミーの全タームを取得するためのテンプレートタグ。
$terms = get_terms(array(
'taxonomy' => 'category',
'hide_empty' => false,
));
foreach ($terms as $term) {
$icon = get_term_meta($term->term_id, 'category_icon', true);
echo $term->name . ' のアイコン: ' . $icon . '<br>';
}
全てのカテゴリータームを取得し、それぞれのタームのアイコンメタデータを表示します。
追加情報を取得したい場合
get_term()
を使えば、タームの基本情報(名前、スラッグなど)も取得できます。
get_term() で取得できるターム情報
$term = get_term(15, 'category');
echo 'ターム名: ' . $term->name . '<br>';
echo 'スラッグ: ' . $term->slug;
出力できる情報
- name: タームの名前
- slug: タームのスラッグ
- description: タームの説明
- term_id: タームのID
想定されるトラブル
メタデータが取得できない
メタキーが正しいか確認してください。間違ったキー名を指定すると false
が返されます。
配列で取得したいのに単一の値しか返されない
第三引数に false
を渡すことで、配列形式で取得できます。
Q&A
まとめ
get_term_meta()
は、WordPressのタームに保存されたカスタムメタデータを取得するための便利な関数です。カテゴリーやタグに追加の情報を付与する場合に役立ちます。正しいタームIDとメタキーを指定することが、正確なデータ取得のポイントです。
カスタマイズ例
-
タームのメタデータを取得する
WordPressのカスタムタクソノミーやカテゴリーに登録されたタームには、メタデータを追加することが可能です。本記事では、タームのメタデータを取得し、簡単に表示するためのカスタマイズ方法を紹介します。 タームのメタデータを取得する WordPressでは... -
カテゴリー、タグ、タームなどアーカイブページを投稿画面で編集する方法
WordPressでは、カスタム投稿タイプやカスタムタクソノミー(カテゴリやタグなど)を利用することで柔軟なコンテンツ管理が可能です。しかし、ターム(タクソノミーの項目)ごとに記事を紐づけて管理し、タームアーカイブページに特定の投稿を表示するには...