概要
register_setting
関数は、オプションの設定情報を登録するために使用されます。この関数は主にテーマ開発やプラグイン開発において、ユーザーが設定を保存できるようにする際に役立ちます。この関数のよく使われる機能は以下の通りです:
- プラグインの設定ページを作成する
- テーマオプションを実装する
- ユーザーごとの設定を作成する
- サイト全体の設定を管理する
- 設定値のバリデーションを設定する
- 設定をグループ化する
- 設定情報をデフォルト値で初期化する
- 設定情報を非公開にする
この関数は、WordPress 2.7から導入されています。 具体的には、wp-includes/options.php
に定義されています。
構文
register_setting( $option_group, $option_name, $args );
パラメータ
- $option_group (string) : オプションのグループ名(必須)。
- $option_name (string) : オプションの名前(必須)。
- $args (array) : オプションの引数(オプション)。
戻り値
特になし。
関連する関数
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 myplugin_register_settings() {
register_setting('myplugin_options_group', 'myplugin_option_name');
}
add_action('admin_init', 'myplugin_register_settings');
説明:プラグインやテーマのオプション「myplugin_option_name」を「myplugin_options_group」として登録します。
サンプルコード 2: バリデーションを持つ設定の登録
function myplugin_register_settings() {
register_setting('myplugin_options_group', 'myplugin_option_name', 'myplugin_validate_options');
}
function myplugin_validate_options($input) {
return sanitize_text_field($input);
}
add_action('admin_init', 'myplugin_register_settings');
説明:バリデーション関数を定義し、オプションをサニタイズして保存します。
サンプルコード 3: 設定フィールドの追加
function myplugin_settings_init() {
add_settings_section('myplugin_section', 'My Plugin Settings', 'myplugin_section_cb', 'myplugin_options_group');
add_settings_field('myplugin_setting', 'My Setting', 'myplugin_setting_cb', 'myplugin_options_group', 'myplugin_section');
}
add_action('admin_init', 'myplugin_settings_init');
説明:設定セクションとフィールドを追加し、それぞれコールバック関数を指定します。
サンプルコード 4: デフォルト値の設定
function myplugin_register_settings() {
register_setting('myplugin_options_group', 'myplugin_option_name', array(
'default' => 'default_value'
));
}
add_action('admin_init', 'myplugin_register_settings');
説明:オプションにデフォルト値を設定します。
サンプルコード 5: 設定をグループ化する
function myplugin_register_settings() {
register_setting('myplugin_options_group', 'myplugin_option_one');
register_setting('myplugin_options_group', 'myplugin_option_two');
}
add_action('admin_init', 'myplugin_register_settings');
説明:複数のオプションを同じグループ「myplugin_options_group」に登録します。
これらのコードは、WordPressの設定APIを利用して、ユーザーがプラグインやテーマの設定を管理できるような構造となっています。