do_settings_sections()


WordPressのdo_settings_sections()関数は、管理画面で設定セクションを表示するために使用されます。

構文

do_settings_sections( string $page );
  • $page (string) — 表示したいセクションが関連付けられているページスラッグ。

使用例

例1: 単純な設定セクションの表示

次のコードは、指定したページスラッグのセクションを表示します。

<?php
add_action( 'admin_menu', function() {
    add_options_page( '設定ページ', '設定ページ', 'manage_options', 'my-settings-page', function() {
        echo '<form method="post" action="options.php">';
        settings_fields( 'my-settings-group' );
        do_settings_sections( 'my-settings-page' );
        submit_button();
        echo '</form>';
    } );
} );
?>

例2: カスタム設定セクションとフィールドの登録

以下のコードは、カスタムセクションとフィールドを登録し、それを設定ページに表示します。

<?php
add_action( 'admin_init', function() {
    add_settings_section(
        'my_section_id',
        'カスタムセクション',
        function() { echo 'これはカスタムセクションの説明です。'; },
        'my-settings-page'
    );
    add_settings_field(
        'my_field_id',
        'カスタムフィールド',
        function() { echo '<input type="text" name="my_option_name" value="' . get_option( 'my_option_name' ) . '">'; },
        'my-settings-page',
        'my_section_id'
    );
    register_setting( 'my-settings-group', 'my_option_name' );
} );
?>

例3: 設定ページにセクションを追加

次のコードは、異なるセクションを設定ページに追加します。

<?php
add_action( 'admin_init', function() {
    add_settings_section(
        'another_section_id',
        '追加セクション',
        function() { echo '別のセクションの説明です。'; },
        'my-settings-page'
    );
    add_settings_field(
        'another_field_id',
        '別のフィールド',
        function() { echo '<input type="checkbox" name="another_option" ' . checked( get_option( 'another_option' ), 1, false ) . '> チェックボックス'; },
        'my-settings-page',
        'another_section_id'
    );
    register_setting( 'my-settings-group', 'another_option' );
} );
?>

注意事項

  • do_settings_sections()関数を使用する際は、add_settings_section()add_settings_field()で適切に設定を登録してください。
  • 使用するスラッグ名は一意である必要があります。

関連機能: