Settings Page won't save

时间:2021-03-31 作者:Lois Hunt

我创建了一个简单的设置页面,只有一个页面、一个部分和两个字段,所有这些都显示得很好,但我一辈子都不明白为什么它不会保存。要么是输入错误,要么是我缺少了一个完整的函数或类似的东西。

我的代码:测试页。php

<?php

//add menu page with no sub-pages

function add_test_pages() {

  add_menu_page( \'Test Page\', \'Test Page\', \'edit_posts\', \'test_page\', $function = \'add_test_page\', $icon_url = \'dashicons-edit\', $position = null );
}

add_action( \'admin_menu\', \'add_test_pages\' );


//Set up Section and Field Settings
function test_page_settings () {


    register_setting( \'test_page\', \'field_1\');
    register_setting( \'test_page\', \'field_2\');


    add_settings_section( \'test-section1\', \'Section 1\', \'section_1\', \'test_page\' );

    add_settings_field( \'field-1\', \'Field 1\', \'field_1\', \'test_page\', $section = \'test-section1\' );
    add_settings_field( \'field-2\', \'Field 2\', \'field_2\', \'test_page\', $section = \'test-section1\' );
}
add_action( \'admin_init\', \'test_page_settings\' );

//section 1
function section_1(){
echo \'section 1 test\';
}

//field functions
function field_1 () {
  $field1 = esc_attr(get_option(\'field_1\'));
  echo \'<input type="text" name="field_1" value"\'.$field1.\'" placeholder="Field 1" />\';
}
function field_2 () {
  $field2 = esc_attr(get_option(\'field_2\'));
  echo \'<input type="text" name="field_2" value"\'.$field2.\'" placeholder="Field 2" />\';
}

//add template
function add_test_page() {
  require_once( \'html-templates/test-page-template.php\' );
}
还有我的模板,测试页面模板。php

<h1>My Test Template</h1>
<br/>
<hr />
<?php settings_errors(); ?>
<form  action="options.php" method="post">
  <?php settings_fields( \'test_page\' ); ?>
  <?php do_settings_sections( \'test_page\' ); ?>
  <?php submit_button(); ?>
</form>

提前非常感谢您的帮助。

1 个回复
SO网友:Anake.me

对于可能没有读过上述评论并有类似问题的任何其他人,@epilektric回答了这个问题,指出= 标记在value 属性下的field_1field_2 功能。

相关推荐