在WordPress的后台中添加顶级菜单和子菜单的函数详解


Posted in PHP onJanuary 11, 2016

添加设置页面-add_menu_page函数
add_menu_page(),这个函数是往后台添加顶级菜单先,也就是和“外观”、“插件”等一样的顶级菜单。

函数介绍如下:

<?php  
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );  
//page_title页面title标签信息  
//$menu_title 菜单标题  
//capability 权限  
//menu_slug 别名  
//function 执行函数  
//icon_url 菜单图标url地址  
//position 此菜单项在菜单中的位置,警告:如果两个菜单项的位置属性相同,其中一个可能要被覆盖  
?>

对于function参数,这个参数一般是函数名,如果在类中,要调用类的方法,使用array(类名,函数名)这样的形式调用。如果这个参数为空的话,menu_slug参数可以是一个文件路径。

上面函数的position参数,默认的菜单项位置属性如下:

2 Dashboard
 4 Separator
 5 Posts
 10 Media
 15 Links
 20 Pages
 25 Comments
 59 Separator
 60 Appearance
 65 Plugins
 70 Users
 75 Tools
 80 Settings
 99 Separator

好了,还是以实例来讲解,这样才能李菊福嘛。在默认的Twenty Ten主题中新建一个myfuntions.php ,然后在functions.php文件中include用编辑器打开我们的myfunctions.php,
添加新代码:

<?php  
function test_function(){  
  add_menu_page( 'title标题', '菜单标题', 'edit_themes', 'ashu_slug','display_function','',6);  
}  
 
function display_function(){  
  echo '<h1>这是设置页面</h1>';  
}  
add_action('admin_menu', 'test_function');  
?>

可以看到,菜单位置是6,比较一下可发现,它将会在“文章”的后面,看:

在WordPress的后台中添加顶级菜单和子菜单的函数详解

已经出现了一个顶级菜单页面了。。。

添加子菜单项-add_submenu_page
添加子菜单项的函数如下:

<?php  
add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );  
//parent_slug-父级菜单项的别名  
//page_title--页面的title信息  
//menu_title-菜单标题  
//capability-权限  
//menu_slug-别名  
//function-执行的函数  
?>

其实有了前两篇教程,这个函数的用法无需多言了。

实例,还是用上两篇教程中的文件(在默认的Twenty Ten主题中新建一个myfuntions.php ,然后在functions.php文件中include新文件)用编辑器打开我们的myfunctions.php,上一篇教程中我们已经添加了一个顶级菜单项,今天我们就在这个顶级菜单项的基础上添加一个子菜单项,保留昨天的代码,补充新的代码,之后myfunctions.php中的代码是这样:

<?php   
function test_function(){   
  add_menu_page( 'title标题', '菜单标题', 'edit_themes', 'ashu_slug','display_function','',6);   
}   
   
function display_function(){   
  echo '<h1>这是设置页面</h1>';   
}   
add_action('admin_menu', 'test_function');  
 
//以下是添加子菜单项代码  
add_action('admin_menu', 'add_my_custom_submenu_page');  
 
function add_my_custom_submenu_page() {  
  //顶级菜单的slug是ashu_slug  
  add_submenu_page( 'ashu_slug', '子菜单', '子菜单', 'edit_themes', 'ashu-submenu-page', 'my_submenu_page_display' );  
}  
 
function my_submenu_page_display() {  
  echo '<h3>子菜单项的输出代码</h3>';  
 
}  
 
?>

效果图是这样:

在WordPress的后台中添加顶级菜单和子菜单的函数详解

OK,添加子菜单项完成。。

PHP 相关文章推荐
php读取数据库信息的几种方法
May 24 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php 获取mysql数据库信息代码
Mar 12 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
深入解析phpCB批量转换的代码示例
Jun 27 PHP
php加密解密实用类分享
Jan 07 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 #PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 #PHP
详解YII关联查询
Jan 10 #PHP
PHP 设计模式系列之 specification规格模式
Jan 10 #PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 #PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 #PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 #PHP
You might like
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
php安装swoole扩展的方法
2015/03/19 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python之Character string(实例讲解)
2017/09/25 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
使用Tkinter制作信息提示框
2020/02/18 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
银行演讲稿范文
2014/01/03 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
个人工作年终总结
2015/03/09 职场文书
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL