web-dev-qa-db-ja.com

Register_settingを使用して設定ページに可変変数の値を含む設定を含むにはどうすればよいですか。

1〜5の値を設定できる設定ページのオプションが1つあります。 Settings APIを使用して単一値設定を設定する方法については基本的な知識がありますが、可変数の値を使用した設定に対してマークアップなどを生成するにはどうすればよいですか。

2
ProfK

Settings APIを正しく使用している場合は、add_settings_field関数を使用しているはずです。この関数の3番目の引数は、個々の設定のフォームフィールドのHTMLを生成するコールバック関数です。コーデックスは述べています:

より大きなフォームの一部として、フィールドに必要な入力を入力する機能。入力の名前とIDは、この関数に与えられた$ IDと一致する必要があります。関数はその出力をエコーするべきです。

このコールバック関数では、WordPressが関与していなかった場合と同じように、HTMLを書くだけです。そのため、ラジオボタン、選択フィールド、複数選択などを設定できます。

例として、add_settings_fieldをそのまま使用するとしましょう。

add_settings_field(
    'my_setting_name',
    'My Setting Name',
    'my_setting_callback_function',
    'general',
    'my_settings_section_name'
);

このスニペットでは、 "my_setting_callback_function"という名前のコールバック関数が設定用のHTMLを生成します。その後、次のようにすることができます。

function my_setting_callback_function() {
?>
    <select name="my_setting_name" id="my_setting_name">
        <option value="1">Enabled</option>
        <option value="0">Disabled</option>
    </select>
<?php
}

ご覧のとおり、この関数はこの設定に対してさまざまな可能な値を生成します。

私はCodexのこの部分を読むことを強くお勧めします: http://codex.wordpress.org/Settings_API 。設定APIを説明するNiceの仕事をし、例はそれを使用する方法を説明する良い仕事をします。このAPIは少し複雑です。しかしながら、それはそれがするべきであると言うことをします、それで少しの規律と慎重なチェックで、それはあなたのために非常にうまくいくはずです。

がんばろう!

3
tollmanz