概要
update_term_meta
関数は、タームのメタ情報を更新するために使用されるWordPressの関数です。この関数は、カスタムタクソノミーのタームに関連するメタデータを保存し、管理する際に主に利用されます。特に、以下のようなケースで使われることが一般的です:
- 特定のタームにカスタムフィールドを追加する。
- タームに関連する設定情報を保存する。
- タームに特有の表示オプションを設定する。
- タームの説明やステータスなどを拡張する。
- REST APIエンドポイントを作成する際にメタデータを更新する。
- タームのSEO設定を追加・更新する。
- タームに関連するギャラリー情報を保存する。
- タームフィルター機能を作成する際にデータを管理する。
構文
update_term_meta( $term_id, $meta_key, $meta_value, $prev_value );
パラメータ
$term_id
(int) – メタデータを更新したいタームのID。$meta_key
(string) – メタデータのキー。$meta_value
(mixed) – メタデータの値。$prev_value
(mixed) – 更新する前のメタデータの値(オプション)。
戻り値
- 成功した場合は更新されたメタデータの値を返し、失敗した場合はfalseを返します。
関連する関数
使用可能なバージョン
update_term_meta
関数はWordPress 4.4.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:タームメタを追加
$term_id = 123; // 更新するタームID
$meta_key = 'custom_meta_key';
$meta_value = 'Custom Value';
update_term_meta( $term_id, $meta_key, $meta_value );
このコードは、指定したタームIDに対してカスタムメタ情報を追加または更新します。
サンプル2:メタ情報を更新
$term_id = 456; // 更新するタームID
$meta_key = 'description';
$new_value = 'This is a new description.';
update_term_meta( $term_id, $meta_key, $new_value );
指定したタームの「description」メタデータを新しい値に更新します。
サンプル3:特定の値があれば更新
$term_id = 789; // 更新するタームID
$meta_key = 'status';
$prev_value = 'draft';
$new_value = 'publish';
update_term_meta( $term_id, $meta_key, $new_value, $prev_value );
「status」メタデータの値が「draft」の場合にのみ、新しい値に更新します。
サンプル4:メタ情報の状態を確認
$term_id = 101; // タームID
$meta_key = 'is_featured';
if ( ! update_term_meta( $term_id, $meta_key, 'yes' ) ) {
echo 'Failed to update term meta.';
}
メタ情報の更新が失敗した場合にメッセージを表示します。
サンプル5:複数のメタ情報を更新
$term_id = 202; // タームID
$meta_updates = [
'color' => 'red',
'size' => 'large',
];
foreach ( $meta_updates as $key => $value ) {
update_term_meta( $term_id, $key, $value );
}
複数のメタ情報を繰り返し更新する例です。