MENU

add_settings_section()

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) . '" />';
}
  1. add_settings_section() で新しい設定セクションを追加
  2. add_settings_field() で設定フィールドを追加
  3. 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() はどのページで使用できますか?

general, reading, writing, discussion などの設定ページで使用できます。また、独自のプラグイン設定ページにも追加できます。

設定ページを独自に作成できますか?

はい、add_options_page() を使用して独自の設定ページを作成し、その中で add_settings_section() を使うことができます。

既存の WordPress 設定ページにカスタムオプションを追加できますか?

はい、generalwriting などのページにカスタムセクションを追加できます。

まとめ

add_settings_section() は、WordPress の設定ページに新しいセクションを追加するための関数です。

これにより、設定画面を整理し、分かりやすく管理できるようになります。

通常は add_settings_field()register_setting() と組み合わせて使用します。また、プラグイン開発時にカスタム設定ページを作成する際にも役立ちます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次