add_settings_section()
は、WordPress の設定ページに新しいセクションを追加するための関数です。
主に settings API
を使用してカスタム設定ページを作成する際に用いられます。
例えば、プラグインの設定画面に「基本設定」「詳細設定」といったセクションを作成し、その中に設定項目を整理するのに役立ちます。この関数を使用すると、設定画面の構造を分かりやすくし、管理者が簡単に設定を変更できるようになります。
機能の説明
add_settings_section()
は、WordPress の管理画面に新しい設定セクションを作成するための関数です。
通常、add_settings_field()
と組み合わせて使用し、特定のオプションページに設定項目を追加します。
主な用途
- WordPress のオプションページに設定セクションを追加
- プラグインの設定画面を整理する
- カスタマイズした設定フォームの作成
この関数を使用すると、設定項目を適切なセクションに整理でき、設定ページが分かりやすくなります。
シンプルなコード例
add_settings_section(
'custom_section', // セクションID
'カスタム設定セクション', // セクションタイトル
'custom_section_callback', // セクションの説明用コールバック関数
'general' // 設定ページ(general, reading, writing など)
);
function custom_section_callback() {
echo '<p>このセクションではカスタム設定を行います。</p>';
}
'custom_section'
:セクションの一意な識別子'カスタム設定セクション'
:管理画面に表示されるセクションのタイトル'custom_section_callback'
:セクションの説明を表示する関数'general'
:設定ページのスラッグ(例:general
は「一般設定」ページ)
このコードを追加すると、WordPress の「一般設定」ページに「カスタム設定セクション」が追加されます。
使い方の説明
基本的な使い方
以下のコードは、WordPress の「一般設定」ページにカスタムセクションを追加し、その中にカスタムの設定フィールドを配置する例です。
// 設定セクションを追加
add_action('admin_init', function() {
add_settings_section(
'custom_section',
'カスタム設定セクション',
'custom_section_callback',
'general'
);
add_settings_field(
'custom_option',
'カスタムオプション',
'custom_option_callback',
'general',
'custom_section'
);
register_setting('general', 'custom_option');
});
function custom_section_callback() {
echo '<p>このセクションではカスタム設定を管理できます。</p>';
}
function custom_option_callback() {
$value = get_option('custom_option', '');
echo '<input type="text" name="custom_option" value="' . esc_attr($value) . '" />';
}
add_settings_section()
で新しい設定セクションを追加add_settings_field()
で設定フィールドを追加register_setting()
でオプションを登録し、保存できるようにする
このコードを追加すると、「一般設定」ページにカスタムセクションが作成され、テキストフィールドが表示されます。
一緒に使うことが多い関連タグ
add_settings_field()
設定セクション内に新しい設定フィールドを追加する。
add_settings_field(
'custom_option',
'カスタムオプション',
'custom_option_callback',
'general',
'custom_section'
);
'custom_option'
:オプションの ID'カスタムオプション'
:ラベル'custom_option_callback'
:フィールドの出力関数'general'
:設定ページ'custom_section'
:セクション ID(add_settings_section()
で指定したもの)
register_setting()
カスタム設定を保存できるように登録する。
register_setting('general', 'custom_option');
'general'
:オプションが登録される設定ページ'custom_option'
:保存されるオプションの名前
do_settings_sections()
登録したセクションを表示する。
do_settings_sections('general');
追加情報で取得したい場合
設定オプションの値を取得
get_option()
を使用すると、登録した設定値を取得できます。
$value = get_option('custom_option', 'デフォルト値');
echo '現在の設定値: ' . esc_html($value);
想定されるトラブル
セクションが表示されない
解決方法
admin_init
フック内でadd_settings_section()
を実行しているか確認do_settings_sections('general');
が適切なページに記述されているか確認
オプション値が保存されない
解決方法
register_setting()
を忘れていないか確認settings_fields('general');
をoptions.php
に追加
Q&A
まとめ
add_settings_section()
は、WordPress の設定ページに新しいセクションを追加するための関数です。
これにより、設定画面を整理し、分かりやすく管理できるようになります。
通常は add_settings_field()
や register_setting()
と組み合わせて使用します。また、プラグイン開発時にカスタム設定ページを作成する際にも役立ちます。
コメント