我现在正在创建自己的主题,我正在尝试使用设置API。 我创建了2个工作字段,然后当我尝试用另一个字段创建另一个部分时,问题就开始了。
现在只保存我创建的最后一个字段,而不是保存之前工作的前两个字段。
function empathy_admin_settings_init() {
// General Settings START
register_setting( 'empathy-settings-general', 'empathy-setting-title' );
add_settings_section( 'section-one', '', 'section_one_callback', 'empathy-general' );
add_settings_field( 'title', 'Homepage browser title', 'field_title_callback', 'empathy-general', 'section-one' );
function section_one_callback() { }
function field_title_callback() {
$setting = esc_attr( get_option( 'empathy-setting-title' ) );
echo "<input type='text' name='empathy-setting-title' value='".$setting."' />";
}
register_setting( 'empathy-settings-general', 'empathy-setting-description' );
add_settings_section( 'section-two', '', 'section_two_callback', 'empathy-general' );
add_settings_field( 'description', 'Homepage description', 'field_description_callback', 'empathy-general', 'section-two' );
function section_two_callback() { }
function field_description_callback() {
$setting = esc_attr( get_option( 'empathy-setting-description' ) );
echo "<textarea rows='6' name='empathy-setting-description'>".$setting."</textarea>";
}
// General Settings END
// Design Settings START
register_setting( 'empathy-settings-design', 'empathy-setting-logo' );
add_settings_section( 'section-three', '', 'section_three_callback', 'empathy-design' );
add_settings_field( 'logo-image', 'Website Logo', 'field_logo_callback', 'empathy-design', 'section-three' );
function section_three_callback() { }
function field_logo_callback() {
$setting = esc_attr( get_option( 'empathy-setting-logo' ) );
echo "<input type='text' name='empathy-setting-logo' value='".$setting."' />";
}
// Design Settings END
}
<div class="wrap-empathy">
<h2>Empathy Theme Options</h2>
<form action="options.php" method="POST">
<a class="showOptions"><div class="optionHeading">General Settings</div>
<div class="settings-tab">
<?php settings_fields( 'empathy-settings-general' ); ?>
<?php do_settings_sections( 'empathy-general' ); ?>
</div>
</a>
<a class="showOptions"><div class="optionHeading">Design Settings</div>
<div class="settings-tab">
<?php settings_fields( 'empathy-settings-design' ); ?>
<?php do_settings_sections( 'empathy-design' ); ?>
</div>
</a>
<?php submit_button(); ?>
</form>
</div>
我做错了什么? 感谢所有帮助者!