ワードプレスのadd_settings_field関数の使用方法・解説

概要

add_settings_field 関数は、WordPress の管理画面の設定ページに新しいフィールドを追加する際によく使用されます。この関数は、プラグインやテーマの設定オプションを追加し、ユーザーがそれらを管理できるようにするために役立ちます。以下に、この関数がよく使われる場面の例を挙げます。

  1. プラグインのオプション設定
  2. テーマのカスタマイザーオプション
  3. ユーザーが管理できるカスタム設定
  4. 投稿タイプに関連する設定
  5. APIキーや秘密鍵の入力欄
  6. 通知設定
  7. カスタムメタデータの入力
  8. フィードバックフォームの設定

構文

add_settings_field( $id, $title, $callback, $page, $section, $args );

パラメータ

  • $id: フィールドのユニーク識別子。
  • $title: フィールドのタイトル。
  • $callback: フィールド表示のためのコールバック関数。
  • $page: フィールドを追加する設定ページのスラッグ。
  • $section: フィールドを追加するセクションのスラッグ。
  • $args: 配列形式のオプション(オプション)。

戻り値

この関数は、成功時には null を返します。

使用可能なバージョン

add_settings_field は、WordPress 2.7.0 以降で使用可能です。

コアファイルのパス

wp-includes/plugin.php

関連する関数

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: テキストフィールドを追加

add_settings_field(
    'text_field_example',
    'テキストフィールド',
    function() {
        $options = get_option('my_plugin_options');
        echo '<input type="text" name="my_plugin_options[text_field]" value="' . esc_attr($options['text_field']) . '" />';
    },
    'my_plugin_page',
    'my_plugin_section'
);

このサンプルコードは、設定ページにテキストフィールドを追加し、ユーザーが入力できるようにします。

サンプル2: チェックボックスを追加

add_settings_field(
    'checkbox_example',
    'チェックボックス',
    function() {
        $options = get_option('my_plugin_options');
        echo '<input type="checkbox" name="my_plugin_options[checkbox]" ' . checked(1, isset($options['checkbox']), false) . ' value="1" />';
    },
    'my_plugin_page',
    'my_plugin_section'
);

このコードは、設定ページにチェックボックスフィールドを追加し、オン・オフの状態を保存できるようにします。

サンプル3: セレクトボックスを追加

add_settings_field(
    'select_example',
    'セレクトボックス',
    function() {
        $options = get_option('my_plugin_options');
        echo '<select name="my_plugin_options[select]">
            <option value="option1" ' . selected($options['select'], 'option1', false) . '>オプション1</option>
            <option value="option2" ' . selected($options['select'], 'option2', false) . '>オプション2</option>
        </select>';
    },
    'my_plugin_page',
    'my_plugin_section'
);

このコードは、ユーザーが選択できるドロップダウンリストを設定ページに追加します。

サンプル4: ラジオボタンを追加

add_settings_field(
    'radio_example',
    'ラジオボタン',
    function() {
        $options = get_option('my_plugin_options');
        echo '<label><input type="radio" name="my_plugin_options[radio]" value="value1" ' . checked($options['radio'], 'value1', false) . ' /> 値1</label><br />';
        echo '<label><input type="radio" name="my_plugin_options[radio]" value="value2" ' . checked($options['radio'], 'value2', false) . ' /> 値2</label>';
    },
    'my_plugin_page',
    'my_plugin_section'
);

このサンプルコードは、設定ページにラジオボタンを追加し、ユーザーが一つの選択肢を選べるようにします。

サンプル5: テキストエリアを追加

add_settings_field(
    'textarea_example',
    'テキストエリア',
    function() {
        $options = get_option('my_plugin_options');
        echo '<textarea name="my_plugin_options[textarea]">' . esc_textarea($options['textarea']) . '</textarea>';
    },
    'my_plugin_page',
    'my_plugin_section'
);

このコードは、ユーザーが入力できるテキストエリアを設定ページに追加します。

この関数について質問する


上の計算式の答えを入力してください