概要
add_settings_field
関数は、WordPress の管理画面の設定ページに新しいフィールドを追加する際によく使用されます。この関数は、プラグインやテーマの設定オプションを追加し、ユーザーがそれらを管理できるようにするために役立ちます。以下に、この関数がよく使われる場面の例を挙げます。
- プラグインのオプション設定
- テーマのカスタマイザーオプション
- ユーザーが管理できるカスタム設定
- 投稿タイプに関連する設定
- APIキーや秘密鍵の入力欄
- 通知設定
- カスタムメタデータの入力
- フィードバックフォームの設定
構文
add_settings_field( $id, $title, $callback, $page, $section, $args );
パラメータ
$id
: フィールドのユニーク識別子。$title
: フィールドのタイトル。$callback
: フィールド表示のためのコールバック関数。$page
: フィールドを追加する設定ページのスラッグ。$section
: フィールドを追加するセクションのスラッグ。$args
: 配列形式のオプション(オプション)。
戻り値
この関数は、成功時には null
を返します。
使用可能なバージョン
add_settings_field
は、WordPress 2.7.0 以降で使用可能です。
コアファイルのパス
wp-includes/plugin.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: テキストフィールドを追加
add_settings_field(
'text_field_example',
'テキストフィールド',
function() {
$options = get_option('my_plugin_options');
echo '<input type="text" name="my_plugin_options[text_field]" value="' . esc_attr($options['text_field']) . '" />';
},
'my_plugin_page',
'my_plugin_section'
);
このサンプルコードは、設定ページにテキストフィールドを追加し、ユーザーが入力できるようにします。
サンプル2: チェックボックスを追加
add_settings_field(
'checkbox_example',
'チェックボックス',
function() {
$options = get_option('my_plugin_options');
echo '<input type="checkbox" name="my_plugin_options[checkbox]" ' . checked(1, isset($options['checkbox']), false) . ' value="1" />';
},
'my_plugin_page',
'my_plugin_section'
);
このコードは、設定ページにチェックボックスフィールドを追加し、オン・オフの状態を保存できるようにします。
サンプル3: セレクトボックスを追加
add_settings_field(
'select_example',
'セレクトボックス',
function() {
$options = get_option('my_plugin_options');
echo '<select name="my_plugin_options[select]">
<option value="option1" ' . selected($options['select'], 'option1', false) . '>オプション1</option>
<option value="option2" ' . selected($options['select'], 'option2', false) . '>オプション2</option>
</select>';
},
'my_plugin_page',
'my_plugin_section'
);
このコードは、ユーザーが選択できるドロップダウンリストを設定ページに追加します。
サンプル4: ラジオボタンを追加
add_settings_field(
'radio_example',
'ラジオボタン',
function() {
$options = get_option('my_plugin_options');
echo '<label><input type="radio" name="my_plugin_options[radio]" value="value1" ' . checked($options['radio'], 'value1', false) . ' /> 値1</label><br />';
echo '<label><input type="radio" name="my_plugin_options[radio]" value="value2" ' . checked($options['radio'], 'value2', false) . ' /> 値2</label>';
},
'my_plugin_page',
'my_plugin_section'
);
このサンプルコードは、設定ページにラジオボタンを追加し、ユーザーが一つの選択肢を選べるようにします。
サンプル5: テキストエリアを追加
add_settings_field(
'textarea_example',
'テキストエリア',
function() {
$options = get_option('my_plugin_options');
echo '<textarea name="my_plugin_options[textarea]">' . esc_textarea($options['textarea']) . '</textarea>';
},
'my_plugin_page',
'my_plugin_section'
);
このコードは、ユーザーが入力できるテキストエリアを設定ページに追加します。