update_term_meta()


WordPressのupdate_term_meta()関数は、タクソノミー用のタームメタデータを追加または更新するために使用されます。

構文

update_term_meta( int $term_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' );

引数の説明:

  • $term_id (int) — タームのID。
  • $meta_key (string) — 保存または更新するメタデータのキー。
  • $meta_value (mixed) — 保存または更新する値。
  • $prev_value (mixed) — 更新対象となる現在の値(省略可能)。

例 1: タームメタデータの追加

特定のタームに新しいメタデータを追加します。

update_term_meta( get_term_by( 'slug', 'category-slug', 'category' )->term_id, 'custom_key', 'custom_value' );

例 2: タームメタデータの更新

既存のタームメタデータの値を更新します。

update_term_meta( get_term_by( 'slug', 'tag-slug', 'post_tag' )->term_id, 'custom_key', 'updated_value' );

例 3: 前の値を指定して更新

既存の値を特定してから更新を実行します。

update_term_meta( get_term_by( 'slug', 'taxonomy-slug', 'custom_taxonomy' )->term_id, 'custom_key', 'new_value', 'old_value' );

例 4: 条件付きでタームメタデータを更新

特定の条件を満たす場合のみデータを更新します。

if ( get_term_meta( get_term_by( 'slug', 'example-slug', 'category' )->term_id, 'custom_key', true ) === 'target_value' ) {
    update_term_meta( get_term_by( 'slug', 'example-slug', 'category' )->term_id, 'custom_key', 'new_value' );
}

例 5: デフォルト値が存在しない場合に設定

メタデータが存在しない場合にのみ値を設定します。

if ( ! get_term_meta( get_term_by( 'slug', 'unique-slug', 'post_tag' )->term_id, 'custom_key', true ) ) {
    update_term_meta( get_term_by( 'slug', 'unique-slug', 'post_tag' )->term_id, 'custom_key', 'default_value' );
}

注意事項

  • タームIDが正しいことを確認してください。誤ったIDを指定すると、予期しないデータが上書きされる可能性があります。
  • $prev_valueを使用する場合、指定した値と一致しない場合は更新されません。
  • カスタムタクソノミーを使用している場合、タームが正しく登録されていることを確認してください。

関連機能: