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()は、タームにカスタムメタデータを追加・更新するための便利なテンプレートタグです。特にタクソノミーごとの詳細な情報管理を行う場合に有効です。
コメント