之前的教程我们添加了简单的设置选项,数据的保存我们是直接提交到wp-admin/options.php中的,对于数据的保存我们还可以使用一个专用的函数update_option(),准确的说这个函数是更新设置选项数据的。这一篇教程还是比较重要的,因为我们后面讲的教程中,都是使用update_option这个函数来保存、更新设置数据的。

表单代码

<?php
$themename=$tname.'主题';
function register_theme_options_menu(){
    add_theme_page('Theme Options Menu','Tone Theme Options','administrator','tone_menu','tone_menu_setting');
}
function tone_menu_setting(){
    global $themename; ?>
    <h1 class="theme-title"><?php echo $themename.'设置'; ?></h1>
    <div class="main-page">
        <div class="left">
            <div class="nav">
                <div class="on">网站基本设置</div>
                <div>首页设置</div>
            </div>
        </div>
        <div class="right">
            <div class="content">
                <div class="con-ggh">
                    <div class="zcinfo fl">
                        <div class="b-intro">
                            <form action="" method="post" name="copy_right">
                                <input type="text" name="tone_copy_right" id="tone_copy_right" value="<?php echo get_option('tone_copy_right',$option); ?>">
                                <input type="submit" name="option_save" value="保存设置">
                            </form>
                        </div>
                    </div>
                </div>
                <div class="con-ggh">
                    <div class="zcinfo fl">
                        <div class="b-intro">
                            <span class="dp">首页设置</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="clear"></div>
    </div>
<?php }

add_action('admin_menu','register_theme_options_menu');
?>

存储数据代码

<?php
$option=get_option('tone_copy_right');
if ($option = ''){
    $option = '许小珂工作室';
    update_option('tone_copy_right',$option);
}
if (isset($_POST['option_save'])){
    $option = $_POST['tone_copy_right'];
    update_option('tone_copy_right',$option);
}
?>

TIPS

我们这里的例子只有一个设置选项,如果表单中提交了多个数据,可将数据放进一个数组中,这样获取数据的时候只需使用一次get_option函数即可,更新数据也只需要使用一次update_option函数,还有,这一篇文章的方法并不是可取的