尝试零基础修改过wordpress的twentyten主题,效果粗糙自不必说,关键是没有任何的主题设置项目。修改添加功能纯改代码,即便是自用也深感不便。偶然发现了“阿树工作室”添加设置页的教程,准备依样画葫芦尝试自己亲手做一遍。很多时候,看的时候觉得简单,真做的时候往往错误百出,动手修改并成功运行,才能体会到其中的细节。
新建一个主题页面函数add_theme_page
这个函数会在后台“外观”菜单项下面新建一个菜单项,参数functions是一般是显示内容的函数。
<?php
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function);
//page_titile-title标签的内容
//menu_title-显示在后台左边菜单的标题
//capability-访问这个页面需要的权限
//menu_slug-别名,需要独一无二哦
//function-执行的函数
?>
在主题根目录下新建一个theme_options.php文件,然后粘贴如下代码:
<?php
function test_function(){
add_theme_page( 'August主题设置', '选项', 'administrator', 'theme_options_page','display_function');
}
function display_function(){
echo '<h1>这是设置页面</h1>';
}
add_action('admin_menu', 'test_function');
?>
在functions.php文件的末尾,添加语句以包含我们刚刚新建的theme_options.php文件。
制作表单
function test_function(){
add_theme_page( 'August主题设置', '选项', 'administrator', 'theme_options_page','display_function');
}
function display_function(){
echo '<h1>这是设置页面</h1>';
<form method="post" name="ashu_form" id="ashu_form">
<h2>August主题设置</h2>
<p>
<label>
<input name="August_copy_right" size="40" />
请输入文字
</label>
</p>
<p class="submit">
<input type="submit" name="August_option_save" value="<?php _e('保存设置'); ?>" />
</p>
</form>
}
add_action('admin_menu', 'test_function');
?>
验证数据
<?php
add_action('admin_menu', 'test_function');
function test_function(){
add_theme_page( 'August主题设置', '选项', 'administrator', 'theme_options_page','display_function');
}
function display_function(){ ?>
<form method="post" name="ashu_form" id="ashu_form" action="options.php" >
<h2>August主题设置</h2>
<p>
<label>
<input name="August_copy_right" size="40" value="<?php echo get_option('August_copy_right'); ?>"/>
请输入文字
</label>
</p>
<p class="submit">
<input type="submit" name="August_option_save" value="<?php _e('保存设置'); ?>" />
</p>
<?php wp_nonce_field('update-options'); ?>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="August_copy_right" />
</form>
<?php }?>