ワードプレスのupdate_term_meta関数の使用方法・解説

概要

update_term_meta関数は、タームのメタ情報を更新するために使用されるWordPressの関数です。この関数は、カスタムタクソノミーのタームに関連するメタデータを保存し、管理する際に主に利用されます。特に、以下のようなケースで使われることが一般的です:

  1. 特定のタームにカスタムフィールドを追加する。
  2. タームに関連する設定情報を保存する。
  3. タームに特有の表示オプションを設定する。
  4. タームの説明やステータスなどを拡張する。
  5. REST APIエンドポイントを作成する際にメタデータを更新する。
  6. タームのSEO設定を追加・更新する。
  7. タームに関連するギャラリー情報を保存する。
  8. タームフィルター機能を作成する際にデータを管理する。

構文

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 );
}

複数のメタ情報を繰り返し更新する例です。

この関数について質問する


上の計算式の答えを入力してください