add_theme_page()函数
add_theme_page()函数会在后台“外观”菜单项下面新建一个菜单项,有助于我们自己修改主题时功能的扩展。
语法结构
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function);
page_titile title标签的内容
menu_title 显示在后台左边菜单的标题
capability 访问这个页面需要的权限
menu_slug 别名,需要独一无二哦自己命名
function 执行的函数
例子:
# 加入主题的functions.php即可
function register_theme_submenu(){
add_theme_page('Theme Submenu','主题设置','administrator','my_slug','theme_submenu');
}
function theme_submenu(){
echo 'lol';
}
add_action('admin_menu','register_theme_submenu');
更详细的例子
<?php
function getOptions() {
$options = get_option('my_theme_options');
if (!is_array($options)) {
$options['meta_keywords'] = '';
$options['meta_description'] = '';
update_option('my_theme_options', $options);
}
return $options;
}
/* 初始化 */
function init() {
if($_SERVER['REQUEST_METHOD']=="POST") {
$options = getOptions();
$options['meta_keywords'] = stripslashes($_POST['meta_keywords']);
$options['meta_description'] = stripslashes($_POST['meta_description']);
update_option('my_theme_options', $options);
} else {
getOptions();
}
add_theme_page("我的主题选项", "我的主题选项", 'edit_theme_options', "my_theme_panel_ss", 'display');
}
/* 界面 */
function display() {
$options = getOptions();
?>
<form action="#" method="post" enctype="multipart/form-data" name="op_form" id="op_form">
<div class="wrap">
<h1>当前主题选项</h1>
<p>相关描述</p>
<table class="form-table" role="presentation">
<tbody>
<tr>
<th scope="row"><label for="meta_keywords">主题关键词</label></th>
<td><input name="meta_keywords" type="text" id="meta_keywords" value="<?php echo($options['meta_keywords']); ?>" class="regular-text"></td>
</tr>
<tr>
<th scope="row"><label for="meta_description">主题描述</label></th>
<td>
<input name="meta_description" type="text" value="<?php echo($options['meta_description']); ?>" class="regular-text">
<p class="description" id="tagline-description">用简洁的文字描述本站点。</p>
</td>
</tr>
</tbody>
</table>
<input type="submit" name="input_save" value="保存" />
</div>
</form>
<?php
}
add_action('admin_menu', 'init');
?>
修改时间 2023-11-14
声明:本站所有文章和图片,如无特殊说明,均为原创发布,转载请注明出处。