settings_fields()


WordPress関数settings_fields()は、フォームの設定フィールドを生成するために使用されます。この関数は主に管理画面でオプション設定ページを作成する際に利用されます。

構文

settings_fields( string $option_group );
  • $option_group (string) — 設定オプションのグループ名。これはregister_setting()で登録された名前と一致する必要があります。

例1: 設定フォームの作成

以下のコードは、カスタム設定フォームを作成する基本的な例です。

<?php
function my_plugin_settings_page() {
    echo '<form method="post" action="options.php">';
    settings_fields( 'my_plugin_options_group' );
    do_settings_sections( 'my_plugin' );
    submit_button();
    echo '</form>';
}
?>

例2: オプションの登録と使用

設定グループとオプションを登録し、設定フィールドを作成します。

<?php
function my_plugin_register_settings() {
    register_setting( 'my_plugin_options_group', 'my_plugin_option_name' );
    add_settings_section( 'my_plugin_main_section', 'セクションタイトル', null, 'my_plugin' );
    add_settings_field( 'my_plugin_field', 'フィールドラベル', 'my_plugin_field_callback', 'my_plugin', 'my_plugin_main_section' );
}
add_action( 'admin_init', 'my_plugin_register_settings' );

function my_plugin_field_callback() {
    $value = get_option( 'my_plugin_option_name' );
    echo '<input type="text" name="my_plugin_option_name" value="' . esc_attr( $value ) . '">';
}
?>

例3: 複数の設定グループを利用

複数の設定グループを使って異なるフォームを作成します。

<?php
function my_plugin_settings_page_one() {
    echo '<form method="post" action="options.php">';
    settings_fields( 'group_one' );
    do_settings_sections( 'page_one' );
    submit_button();
    echo '</form>';
}

function my_plugin_settings_page_two() {
    echo '<form method="post" action="options.php">';
    settings_fields( 'group_two' );
    do_settings_sections( 'page_two' );
    submit_button();
    echo '</form>';
}
?>

注意事項

この関数を使用する際は、register_setting()で登録されたグループ名と一致する名前を$option_groupとして指定する必要があります。一致しない場合、設定フィールドは正しく動作しません。


関連機能: