クライアントがビジネスの詳細を追加できる[設定]メニューの[オプション]ページを設定する簡単なWordpressプラグインを作成しています。
すべてのフィールドを次のように登録します。
// Lets set an array for the inputs:
$fields = array (
array( "name", "Business Name:"),
array( "tagline", "Business Tagline:"),
array( "logo", "Business Logo:"),
array( "owner_name", "Owner's Name:"),
array( "owner_title", "Owner's Title"),
array( "address", "Address:"),
array( "city", "City:"),
array( "province", "Province:"),
array( "country", "Country:"),
array( "phone", "Phone:"),
array( "secondary_phone","Secondary Phone:"),
array( "fax", "Fax:"),
array( "toll_free", "Toll Free:"),
array( "email", "Email:"),
array( "website", "Website:"),
);
foreach($fields as $field) {
//id, title (label), callback, page, section(from add_settings_section), args
add_settings_field("business_{$field[0]}", $field[1], "business_{$field[0]}_setting", __FILE__, 'main_section');
}
これは、配列の設定をループし、必要なすべてのフィールドを追加し、。を使用してコールバック関数への参照を設定するだけbusiness_{$field[0]}_setting
です。
次に、次のようにそれぞれのコールバック関数を作成する必要があります。
function business_name_setting() {
$options = get_option('plugin_options');
echo "<input name='plugin_options[business_name]' type='text' value='{$options['business_name']}' />";
}
基本的に同じである場合にすべてのコールバックを個別に作成することは非常に冗長であるため、これを行うためのより優雅な方法があると思います。