add_settings_section()


WordPressの関数add_settings_section()は、設定ページにセクションを追加するために使用されます。この関数を利用することで、管理画面のUIをカスタマイズできます。

構文

add_settings_section( string $id, string $title, callable $callback, string $page );

引数の説明

  • $id (string) — セクションのユニークな識別子。
  • $title (string) — セクションのタイトル。
  • $callback (callable) — セクションの説明や追加HTMLを表示するための関数。
  • $page (string) — セクションを追加する設定ページのスラッグ。

使用例

例 1. シンプルなセクションの追加

以下は、基本的なセクションを「general」設定ページに追加する例です。

add_settings_section( 'my_section', 'カスタムセクション', null, 'general' );

例 2. セクションに説明を追加

セクションに説明テキストを表示する例です。

function my_section_description() {
    echo '<p>このセクションではカスタム設定を管理できます。</p>';
}
add_settings_section( 'my_section', 'カスタムセクション', 'my_section_description', 'general' );

例 3. 設定ページをカスタマイズ

独自の設定ページを作成し、そこにセクションを追加する例です。

function my_custom_settings_page() {
    add_menu_page( 'カスタム設定', 'カスタム設定', 'manage_options', 'my_custom_page', null );
    add_settings_section( 'my_section', 'カスタムセクション', null, 'my_custom_page' );
}
add_action( 'admin_menu', 'my_custom_settings_page' );

例 4. コールバック関数でセクション内容を動的に表示

セクション内に動的な内容を表示する例です。

function dynamic_section_content() {
    echo '<p>現在の日時: ' . date( 'Y-m-d H:i:s' ) . '</p>';
}
add_settings_section( 'dynamic_section', '動的セクション', 'dynamic_section_content', 'general' );

例 5. セクションの条件付き表示

特定の条件下でセクションを表示する例です。

function conditional_section_content() {
    if ( current_user_can( 'manage_options' ) ) {
        echo '<p>この内容は管理者にのみ表示されます。</p>';
    }
}
add_settings_section( 'conditional_section', '条件付きセクション', 'conditional_section_content', 'general' );

注意事項

  • 関数add_settings_section()は、register_setting()add_settings_field()と併用して使用するのが一般的です。
  • カスタムページを作成する際には、適切な権限をチェックすることを忘れないでください。
  • セクションIDはユニークでなければなりません。同じIDを使用すると予期しない動作が発生する可能性があります。

関連機能: