在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 相关文章推荐
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
Discuz 模板语句分析及知识技巧
Aug 21 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 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
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
生成二维码方法汇总
2014/12/26 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
利用python获得时间的实例说明
2013/03/25 Python
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
python实现计算器简易版
2020/12/17 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
创业计划书怎样才能打动风投
2014/01/01 职场文书
商场中秋节广播稿
2014/01/17 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
村委会贫困证明范文
2014/09/21 职场文书
科级干部培训心得体会
2016/01/06 职场文书
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android
python中validators库的使用方法详解
2022/09/23 Python