add_settings_field()


WordPressのadd_settings_field()関数は、設定ページに新しいフィールドを追加するために使用されます。この関数を使用して、オプションページのカスタマイズを実現します。

シンタックス

add_settings_field( string $id, string $title, callable $callback, string $page, string $section = 'default', array $args = [] );

引数の説明:

  • $id (string) — フィールドの識別子。設定ページ内で一意である必要があります。
  • $title (string) — フィールドのラベルとして表示されるテキスト。
  • $callback (callable) — フィールドのHTMLを出力する関数。
  • $page (string) — フィールドを追加する対象の設定ページスラッグ。
  • $section (string) — フィールドを追加するセクションの識別子 (オプション)。
  • $args (array) — フィールドに渡す追加の引数 (オプション)。

例 1: テキストフィールドを追加

以下のコードは、設定ページに単純なテキスト入力フィールドを追加します。

add_settings_field( 
    'sample_field', 
    'サンプルフィールド', 
    function() { echo '<input type="text" name="sample_field" value="" />'; }, 
    'general', 
    'default' 
);

例 2: ドロップダウンメニューを追加

この例では、設定ページにドロップダウンメニューを追加します。

add_settings_field( 
    'dropdown_field', 
    'ドロップダウンフィールド', 
    function() { 
        echo '<select name="dropdown_field"><option value="1">オプション1</option><option value="2">オプション2</option></select>'; 
    }, 
    'general', 
    'default' 
);

例 3: チェックボックスを追加

チェックボックスフィールドを追加するためのコードです。

add_settings_field( 
    'checkbox_field', 
    'チェックボックスフィールド', 
    function() { 
        echo '<input type="checkbox" name="checkbox_field" value="1" /> チェックを入れる'; 
    }, 
    'general', 
    'default' 
);

例 4: 引数を使用したカスタムフィールド

$argsを使用してカスタマイズしたフィールドを追加します。

add_settings_field( 
    'custom_field', 
    'カスタムフィールド', 
    function( $args ) { 
        echo '<input type="text" name="' . $args['name'] . '" value="' . $args['value'] . '" />'; 
    }, 
    'general', 
    'default', 
    [ 'name' => 'custom_field', 'value' => 'デフォルト値' ] 
);

注意点

  • $callback関数では適切なエスケープを行うこと。
  • 複数のフィールドを追加する場合、$idが重複しないようにすること。
  • 設定ページが正しく登録されていることを確認すること。

関連機能: