update_term_meta()
は、指定したタクソノミーのタームにメタデータを追加・更新するためのテンプレートタグです。タクソノミータームごとにカスタムデータを管理する際に使用します。
機能の説明
update_term_meta()
は、ターム(カテゴリーやタグなど)にメタ情報を保存または更新します。同じキー名が既に存在する場合は、その値が更新され、存在しない場合は新規作成されます。
シンプルなコード例
update_term_meta( 5, 'custom_meta_key', 'custom_value' );
このコードは、IDが5のタームにcustom_meta_key
というキーでcustom_value
という値を設定します。
使い方の解説
引数
update_term_meta()
の引数を説明します。
- $term_id
-
メタデータを更新するタームのID。
- $meta_key
-
更新または追加するメタデータのキー。
- $meta_value
-
保存するメタデータの値。
- $prev_value(任意)
-
更新対象とする既存の値を指定します。指定した値と一致する場合のみ更新されます。
戻り値
- 成功時
-
更新または追加された場合、
true
を返します。 - 失敗時
-
何も変更がなければ
false
を返します。
オプション
update_term_meta()
には特別なオプションはありませんが、$prev_value
引数を使うことで特定の既存値と一致する場合のみ更新するという制御が可能です。
使用例
// タームID 12のタームにカスタムフィールドを追加・更新する
update_term_meta( 12, 'featured', 'yes' );
// 既存値が 'no' の場合のみ 'yes' に更新する
update_term_meta( 12, 'featured', 'yes', 'no' );
1つ目のコードは、IDが12のタームにfeatured
というメタキーでyes
という値を追加します。2つ目のコードでは、既存の値がno
の場合のみ、yes
に更新されます。
一緒に使うことが多い関連タグ
get_term_meta()
get_term_meta()
は、タームに保存されたメタデータを取得するためのテンプレートタグです。
$featured = get_term_meta( 12, 'featured', true );
if ( $featured === 'yes' ) {
echo 'このタームは注目タームです。';
}
このコードは、IDが12のタームからfeatured
メタキーの値を取得し、yes
であれば「このタームは注目タームです。」と表示します。
追加情報を取得したい場合
タームに関連するメタデータの操作には、delete_term_meta()
やadd_term_meta()
を使用することもできます。
get_term_meta()で取得できるターム情報
$meta_value = get_term_meta( $term_id, 'custom_meta_key', true );
出力できる情報
- key: メタデータのキー名
- value: メタデータの値
想定されるトラブル
メタデータが更新されない
$prev_value
を使っている場合、既存の値と一致しないと更新されません。正しい値を指定してください。
タームIDが正しくない
存在しないタームIDを指定した場合、更新は行われません。事前にタームが存在するか確認してください。
Q&A
まとめ
update_term_meta()
は、タームにカスタムメタデータを追加・更新するための便利なテンプレートタグです。特にタクソノミーごとの詳細な情報管理を行う場合に有効です。
カスタマイズ例
-
タームのメタデータで同じ値を一括登録する
まとめ WordPressでタームのメタデータを一括で登録する方法について紹介しました。このカスタマイズにより、メタデータの登録や更新が効率的に行えます。大量のタームや特定のデータが必要な場合、非常に役立ちます。 -
カテゴリー、タグ、タームなどアーカイブページを投稿画面で編集する方法
WordPressでは、カスタム投稿タイプやカスタムタクソノミー(カテゴリやタグなど)を利用することで柔軟なコンテンツ管理が可能です。しかし、ターム(タクソノミーの項目)ごとに記事を紐づけて管理し、タームアーカイブページに特定の投稿を表示するには...