在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执行速度全攻略(上)
Oct 09 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php 404错误页面实现代码
Jun 22 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
php array_map()函数实例用法
Mar 03 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中的Class的几点个人看法
2006/10/09 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
React Router基础使用
2017/01/17 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
会计出纳员的自我评价
2014/01/15 职场文书
教学实习自我评价
2014/01/28 职场文书
二年级小学生评语
2014/04/21 职场文书
医院保洁服务方案
2014/06/11 职场文书
小升初自荐信范文
2015/03/05 职场文书
辩论会主持词
2015/07/03 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android