上一篇教程中,我们添加了简单的设置选项,数据的保存我们是直接提交到wp-admin/options.php中的,对于数据的保存我们还可以使用一个专用的函数update_option(),准确的说这个函数是更新设置选项数据的。这一篇教程还是比较重要的,因为我们后面将的教程中,都是使用update_option这个函数来保存、更新设置数据的。
函数用法如下:
<?php update_option( $option, $newvalue ); //$option为选项名称 //newvalue为选项的值 ?>
实例:
我们使用上一篇教程的代码,(前面我们已经在默认的Twenty Ten主题中新建一个myfuntions.php ,然后在functions.php文件中include新文件),打开myfunctions.php文件,去掉三个隐藏表单,去掉表单的的提交地址,也就是form标签中的action属性,之后代码如下:
<?php function test_function(){ add_theme_page( '阿树工作室', '阿树工作室', 'administrator', 'ashu_slug','display_function'); } add_action('admin_menu', 'test_function'); function display_function(){ ?> <form method="post" name="ashu_form" id="ashu_form"> <h2>阿树工作室主题设置</h2> <p> <label> <input name="ashu_copy_right" size="40" value="<?php echo get_option('ashu_copy_right'); ?>"/> 请输入文字 </label> </p> <p class="submit"> <input type="submit" name="option_save" value="<?php _e('保存设置'); ?>" /> </p> </form> <?php } ?>
下面我们在文件顶部再添加处理数据的代码:
<?php $option = get_option('ashu_copy_right');//获取选项 if( $option == '' ){ //设置默认数据 $option = '阿树工作室'; update_option('ashu_copy_right', $option);//更新选项 } if(isset($_POST['option_save'])){ //处理数据 $option = stripslashes($_POST['ashu_copy_right']); update_option('ashu_copy_right', $option);//更新选项 } ?>
注意:我们这里的例子只有一个设置选项,如果表单中提交了多个数据,可将数据放进一个数组中,这样获取数据的时候只需使用一次get_option函数即可,更新数据也只需要使用一次update_option函数,还有,这一篇文章的方法并不是可取的,如果你只有少量的数据,可以使用上一篇教程中的方法。
下面是myfunctions.php中的所有代码:
<?php $option = get_option('ashu_copy_right');//获取选项 if( $option == '' ){ //设置默认数据 $option = '默认数据'; update_option('ashu_copy_right', $option);//更新选项 } if(isset($_POST['option_save'])){ //处理数据 $option = stripslashes($_POST['ashu_copy_right']); update_option('ashu_copy_right', $option);//更新选项 } ?> <?php function test_function(){ add_theme_page( '阿树工作室', '阿树工作室', 'administrator', 'ashu_slug','display_function'); } add_action('admin_menu', 'test_function'); function display_function(){ ?> <form method="post" name="ashu_form" id="ashu_form"> <h2>阿树工作室主题设置</h2> <p> <label> <input name="ashu_copy_right" size="40" value="<?php echo get_option('ashu_copy_right'); ?>"/> 请输入文字 </label> </p> <p class="submit"> <input type="submit" name="option_save" value="<?php _e('保存设置'); ?>" /> </p> </form> <?php } ?>
请一秒钟记住我们的网址:www.aliyuncms.com ! 转载请注明:WordPress后台制作教程(六):设置数据的保存 !