説明
update_option() は、オプションを更新する関数です。存在しなければ新規追加されます。
基本構文
update_option( string $option, mixed $value, string|bool|null $autoload = null ): bool
引数
$option:オプション名$value:保存する値$autoload:自動読み込みするか(true/false)
戻り値
更新できたら true。値が変わらない場合は false。
使い方(サンプル)
update_option( 'my_plugin_settings', array( 'color' => 'red' ) );
注意点
- 値が前回と同じだと
falseが返ります。失敗と区別するときは、事前に比較します。 - 頻繁に使わない大きなデータは、
$autoloadをfalseにして初期読み込みの負荷を下げます。
実務での使いどころ
- プラグインやテーマの、設定値を保存するとき。
- オプションがなければ作り、あれば更新するとき。
- 配列を、1つのオプションとしてまとめて保存するとき。
よくあるミスと対処
- 戻り値が
falseのとき、失敗したと考える。値が変わらないときもfalseが返る。 - 大きなデータを、既定のまま保存している。毎回読み込まれるため、使うときだけ読み込みたいデータは、
$autoloadをfalseにする。 - 保存前に、入力値を検証・サニタイズしていない。
NG例
if ( ! update_option( 'my_setting', $value ) ) {
// 失敗として扱っているが、値が同じだっただけの場合もある
}
OK例
update_option( 'my_setting', sanitize_text_field( $value ), false );
使い分け早見表
| 関数 | 役割 |
|---|---|
update_option() |
値を保存する(なければ作成、あれば更新) |
add_option() |
なければ作成する(あれば何もしない) |
get_option() |
値を取得する |
関連項目
get_option()、add_option()、delete_option()
公式リファレンス:update_option() | Function | WordPress Developer Resources

コメント