我一直在用WordPress Option Page Generator JeremyHixon帮助我在插件选项页面上抢先一步。我列出了四种不同类型的复选框,可以在这里找到源代码:
https://gist.github.com/factmaven/3896a3aac3888aa5bcddae48d9da5238
然而,我想在我所做的四个部分中的每一部分中添加额外的复选框,如下所示:
根据生成器,看起来我需要添加另一个
add_settings_field
和另一个回调函数来添加更多复选框;但这看起来比我想象的更乏味,只是在每个部分下添加更多复选框。是否可以在下面添加其他复选框
add_settings_field
我已经创建的?例如:
public function personal_options_0_callback() {
printf(
\'<input type="checkbox" name="profile_settings_option_name[personal_options_0]" id="personal_options_0" value="personal_options_0" %s> <label for="personal_options_0"> Visual Editor</label>\',
( isset( $this->profile_settings_options[\'personal_options_0\'] ) && $this->profile_settings_options[\'personal_options_0\'] === \'personal_options_0\' ) ? \'checked\' : \'\'
);
printf(
\'<input type="checkbox" name="profile_settings_option_name[personal_options_1]" id="personal_options_1" value="personal_options_1" %s> <label for="personal_options_1"> Admin Color Scheme</label>\',
( isset( $this->profile_settings_options[\'personal_options_1\'] ) && $this->profile_settings_options[\'personal_options_1\'] === \'personal_options_1\' ) ? \'checked\' : \'\'
);
}
感谢您的帮助或指导。我以前从未制作过插件选项页面,所以如果有更简单的方法,我也愿意接受您的推荐。谢谢
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成
如中所述WordPress Support Forums, 在某些情况下,更容易开发存储值的数组。
要对复选框进行分组,我只需从Discussion 获取预期结果的设置页面:使用WordPress的本机样式格式化的一组复选框。以下是一个很好的模板:
<div class="wrap">
<h1>Profile Settings</h1>
<form method="post" action="action_here">
<table class="form-table">
<tbody>
<tr>
<th scope="row">Personal Options</th>
<td>
<fieldset>
<legend class="screen-reader-text"><span>Personal Options</span></legend>
<label for="rich_editing">
<input name="rich_editing" type="checkbox" value="rich_editing" />
Visual Editor</label>
<br>
<label for="admin_color">
<input name="admin_color" type="checkbox" value="admin_color" />
Admin Color Scheme</label>
<br>
<label for="comment_shortcuts">
<input name="comment_shortcuts" type="checkbox" value="comment_shortcuts" />
Keyboard Shortcuts</label>
<br>
<label for="admin_bar_front">
<input name="admin_bar_front" type="checkbox" value="admin_bar_front" />
Toolbar</label>
<br>
</fieldset>
</td>
</tr>
<tr>
<th scope="row">Name</th>
<td>
<fieldset>
<legend class="screen-reader-text"><span>Name</span></legend>
<label for="first_name">
<input name="first_name" type="checkbox" value="first_name" />
First Name</label>
<br>
<label for="last_name">
<input name="last_name" type="checkbox" value="last_name" />
Last Name</label>
<br>
<label for="nickname">
<input name="nickname" type="checkbox" value="nickname" />
Nickname</label>
<br>
<label for="display_name">
<input name="display_name" type="checkbox" value="display_name" />
Display Name</label>
<br>
</fieldset>
</td>
</tr>
</tbody>
</table>
<?php submit_button(); ?>
</form>
</div>
结果