概要
add_option関数は、WordPressのデータベースに新しいオプションを追加するための関数です。これにより、サイトのカスタマイズや設定情報をデータベースに保存することができ、管理画面から簡単に設定を変更することができます。主に以下のような用途で使われます。
- プラグインの設定値を保存
- テーマのカスタマイズオプションを追加
- サイト全体の設定管理
- ユーザー設定や個別のプロファイル情報の保存
- カスタムポストタイプの設定情報管理
- ウィジェット設定の保存
- サイト訪問者のトラッキング設定
- 分析ツールの設定や統合情報の保存
構文
add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' );
パラメータ
$option(string): 新しく追加するオプションの名前。$value(mixed): オプションに関連付ける値。デフォルトは空の文字列。$deprecated(mixed): 使用されなくなった引数。デフォルトは空の文字列。$autoload(string): このオプションを自動ロードするかどうか。’yes’または’no’。
戻り値
- 成功時に真 (true)、失敗時には偽 (false) を返します。
関連する関数
使用可能なバージョン
- この関数は、WordPress 1.5.0 から使用可能です。
コアファイルのパス
wp-includes/option.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: プラグインのデフォルト設定を追加
function my_plugin_activate() {
add_option('my_plugin_option', 'default_value');
}
register_activation_hook(__FILE__, 'my_plugin_activate');
このコードはプラグインが有効化されたときに、デフォルトのオプションをデータベースに追加します。
サンプル2: テーマのカスタマイズ設定
function my_theme_setup() {
add_option('my_theme_color', 'blue');
}
add_action('after_setup_theme', 'my_theme_setup');
このコードはテーマのセットアップ時にカスタマイズオプションを追加します。
サンプル3: ユーザー設定を保存
function save_user_setting($user_id) {
add_option('user_' . $user_id . '_setting', 'initial_value');
}
add_action('user_register', 'save_user_setting');
新しいユーザーが登録されたときに、ユーザー固有の設定を保存します。
サンプル4: ウィジェットの設定を追加
function register_my_widget() {
add_option('my_widget_option', 'widget_value');
}
add_action('widgets_init', 'register_my_widget');
ウィジェットが初期化されるときに、その設定をデータベースに追加します。
サンプル5: 解析ツールの設定を保存
function setup_analytics_option() {
add_option('analytics_tracking_id', 'UA-XXXXX-Y');
}
add_action('init', 'setup_analytics_option');
サイトの初期化時に解析ツールのトラッキングIDを追加します。
これらのサンプルコードはすべて著作権フリーのものであり、各段階での具体的な操作を示しています。