update_user_option()


WordPress関数update_user_option()は、特定のユーザーに関連するオプション値を更新するために使用されます。

構文

update_user_option( int $user_id, string $option_name, mixed $new_value, bool $global = false );

引数の説明:

  • $user_id (int) — 対象となるユーザーのID。
  • $option_name (string) — 更新するオプション名。
  • $new_value (mixed) — 設定する新しい値。
  • $global (bool) — オプションをグローバルに適用するかどうか。デフォルトはfalse

例 1: ユーザーのカスタム設定を保存する

以下は、特定のユーザーのカスタム設定を保存する例です。

<?php update_user_option( get_current_user_id(), 'custom_setting', 'enabled' ); ?>

例 2: グローバル設定を更新する

グローバル設定を使用して、すべてのユーザーに同じ値を適用します。

<?php update_user_option( get_current_user_id(), 'notification_preference', 'email', true ); ?>

例 3: ユーザーオプションの条件付き更新

現在の値を確認し、必要に応じて更新します。

<?php
$user_id = get_current_user_id();
$current_value = get_user_option( 'dashboard_color', $user_id );
if ( $current_value !== 'dark' ) {
    update_user_option( $user_id, 'dashboard_color', 'dark' );
}
?>

例 4: デフォルト値を設定する

オプションが存在しない場合にデフォルト値を設定します。

<?php
$user_id = get_current_user_id();
if ( ! get_user_option( 'welcome_message', $user_id ) ) {
    update_user_option( $user_id, 'welcome_message', 'ようこそ!' );
}
?>

例 5: 複数ユーザーのオプションを一括更新する

以下のコードは、複数のユーザーに対して同じオプションを更新します。

<?php
$user_ids = [1, 2, 3];
foreach ( $user_ids as $user_id ) {
    update_user_option( $user_id, 'custom_setting', 'active' );
}
?>

注意事項

  • $globaltrueに設定すると、すべてのサイトで値が適用されるため、ネットワーク設定時は慎重に使用してください。
  • オプションの名前は一意である必要があります。他のプラグインやテーマと競合しないように注意してください。
  • 更新が必要ない場合でも、この関数を頻繁に呼び出すとパフォーマンスに影響を与える可能性があります。

関連機能: