首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止Wordpress设置保存-验证

防止Wordpress设置保存-验证
EN

Stack Overflow用户
提问于 2015-05-04 21:28:29
回答 1查看 2.3K关注 0票数 1

我的验证函数:

代码语言:javascript
复制
 function my_plg_validate_options( $input ) {

  $valid = array();

  if ( is_numeric( $input['num_tags'] ) )
        $valid['num_tags'] = $input['num_tags'];
  else
        add_settings_error('my_plg_validate_num_tags_field','my_plg_validate_num_tags_error','Incorrect value entered!','error');


  if(!empty($valid))
  {
    return $valid;
  }

}

编辑

代码语言:javascript
复制
function my_plg_options_page()
{
  ?>
  <div class='wrap'>
   <h2>Tagara | Postavke </h2>

   <form action="options.php" method="post">

     <?php settings_fields('my_plg_options'); ?>
     <?php do_settings_sections('my_plg'); ?>
      <input name="Submit" type="submit" value="Save Changes" class="button button-primary" />
   </form>
  </div>


}


function nd_tch_tagara_admin_init(){
  register_setting( 'my_plg_options', 'my_plg_options','my_plg_validate_options' );

  add_settings_section( 'my_plg_main', 'Postavke plugina','my_plg_section_text', 'my_plg' );
  add_settings_field( 'my_plg_num_tags_field', 'Unesite broj tagova','my_plg_setting_input', 'my_plg', 'my_plg_main' );
}

如果num_tags不是一个数字,那么它可以保存,也不会重写我以前的值(数据库中的字段是空的)。如果验证没有通过,如何防止Wordpress覆盖在设置中保存的先前值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 22:05:45

我认为你的代码看起来像:

代码语言:javascript
复制
function my_plg_validate_options( $input ) {
    $old_option = get_option('name_option'); // Your option name
    if ( ! is_numeric( $input['num_tags'] ) ) {
        $input['num_tags'] = $old_option['num_tags'];
        add_settings_error('my_plg_validate_num_tags_field','my_plg_validate_num_tags_error','Incorrect value entered!','error');
    }

    return $input;
}

将name_option替换为您的。希望能帮上忙!

更新:

就你而言:

代码语言:javascript
复制
function my_plg_validate_options( $input ) {
    $option_name = 'my_plg_options';
    $old_option = get_option($option_name); // Your option name
    if ( ! is_numeric( $input['num_tags'] ) ) {
        $input['num_tags'] = $old_option['num_tags'];
        add_settings_error('my_plg_validate_num_tags_field','my_plg_validate_num_tags_error','Incorrect value entered!','error');
    }

    return $input;
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30040301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档