代码笔记:wordpress后台添加菜单的几种方式比较
2018-01-07 18:50
645 查看
在日常的主题及插件开发中,尝尝需要将插件/主题的想要菜单放在wordpress后台对应的位置,比如:用户管理插件的管理菜单放在“用户”菜单下会比较方便,具体怎么实现的呢?
后台增加主菜单 add_menu_page
参数解释:
$page_title: (字符串,必须)菜单页面标题,即显示在标题栏的标题
$menu_title: (字符串,必须)菜单标题,即菜单显示的问题
$capability:(字符串,必须)权限,即向哪些用户显示此菜单
$menu_slug:(字符串,必须)显示在uri地址栏里的页面名称,默认可为空,类似?page=custompage
$function:回调方法的名称
$icon_url:(可选)菜单图标url
$position:(可选)菜单显示顺序
示例代码:
效果如下:
2. 增加子菜单到现有系统菜单
方式一:
该方式语法与add_menu_page语法完全相同,不再赘述。但仅可以增加子菜单到对应系统内置的菜单,无法为自定义菜单增加子菜单。
第二种方式:add_submenu_page
参数解释:
$parent_slug:父菜单名称,必选。
$page_title: (字符串,必须)菜单页面标题,即显示在标题栏的标题
$menu_title: (字符串,必须)菜单标题,即菜单显示的问题
$capability:(字符串,必须)权限,即向哪些用户显示此菜单
$menu_slug:(字符串,必须)显示在uri地址栏里的页面名称,默认可为空,类似?page=custompage
$function:回调方法的名称
示例代码如下:
3. 增加子菜单到自定义菜单
后台增加主菜单 add_menu_page
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );;
参数解释:
$page_title: (字符串,必须)菜单页面标题,即显示在标题栏的标题
$menu_title: (字符串,必须)菜单标题,即菜单显示的问题
$capability:(字符串,必须)权限,即向哪些用户显示此菜单
$menu_slug:(字符串,必须)显示在uri地址栏里的页面名称,默认可为空,类似?page=custompage
$function:回调方法的名称
$icon_url:(可选)菜单图标url
$position:(可选)菜单显示顺序
示例代码:
add_action('admin_menu', 'register_custom_menu_page'); function register_custom_menu_page(){ add_menu_page('顶级菜单标题', '顶级菜单名称', 'administrator', 'custompage', 'custom_menu_page', plugins_url('myplugin/images/icon.png'), 6); function custompage(){ echo '实例页面'; //可以写插件的配置页面或者介绍之类 }
效果如下:
2. 增加子菜单到现有系统菜单
方式一:
add_dashboard_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“仪表盘” add_users_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“用户” add_plugins_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“插件” add_comments_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“评论” add_media_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“媒体” add_posts_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“日志” add_pages_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“页面” add_theme_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“外观” add_options_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“设置” add_links_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“链接”
该方式语法与add_menu_page语法完全相同,不再赘述。但仅可以增加子菜单到对应系统内置的菜单,无法为自定义菜单增加子菜单。
第二种方式:add_submenu_page
add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
参数解释:
$parent_slug:父菜单名称,必选。
$page_title: (字符串,必须)菜单页面标题,即显示在标题栏的标题
$menu_title: (字符串,必须)菜单标题,即菜单显示的问题
$capability:(字符串,必须)权限,即向哪些用户显示此菜单
$menu_slug:(字符串,必须)显示在uri地址栏里的页面名称,默认可为空,类似?page=custompage
$function:回调方法的名称
示例代码如下:
add_submenu_page( 'index.php', … ); //在仪表盘添加子菜单 add_submenu_page( 'edit.php', … ); //在文章处添加子菜单 add_submenu_page( 'upload.php', … ); //在媒体处添加子菜单 add_submenu_page( 'link-manager.php', … ); //在链接处添加子菜单 add_submenu_page( 'edit.php?post_type=page', … ); //在页面处添加子菜单 add_submenu_page( 'edit-comments.php', … ); //在评论处添加子菜单 add_submenu_page('edit.php?post_type=your_post_type',…) //在你自定义文章类型处添加子菜单 add_submenu_page( 'themes.php', … ); //在外观处添加子菜单 add_submenu_page( 'plugins.php', … ); //在插件处添加子菜单 add_submenu_page( 'users.php', … ); //在用户处添加子菜单 add_submenu_page( 'tools.php', … ); //在工具处添加子菜单 add_submenu_page( 'options-general.php', … ); //在设置处添加子菜单
3. 增加子菜单到自定义菜单
add_action('admin_menu', 'register_custom_menu_page'); function register_custom_menu_page(){ add_menu_page('顶级菜单标题', '顶级菜单名称', 'administrator', 'parent_menu', //父菜单的slug,需要在增加子菜单时调用 'custom_menu_page', '', 70 ); add_submenu_page( 'parent_menu', // 父菜单的slug,标识该子菜单归属哪个父菜单 '用户菜单标题', '用户菜单名称', 'administrator', 'sub_menu', 'custom_users_page' );}
声明: 部分代码来自于http://mr-z.me/2018/01/add_menu_to_wp_dashboard.html,并做补充,笔记之!
相关文章推荐
- wordpress自定义后台用户联系方式 添加qq、微博、微信
- nopcommerce笔记:后台菜单中添加新菜单项
- 为MOSS页面添加后台代码的两种方式(一)
- nopcommerce笔记:后台菜单中添加新菜单项
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- WordPress后台添加侧边栏菜单
- WordPress后台添加侧边栏菜单
- 为MOSS页面添加后台代码的两种方式(二)
- UGUI点击事件的几种代码添加方式
- wordpress 后台添加 JS 代码
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- java中操作xml几种方式的比较和代码示例(DOM,SAX,JDOM,DOM4J)
- 为MOSS页面添加后台代码的两种方式(二)
- 后台代码弹出对话框的几种方式
- 黄聪:WordPress后台添加侧边栏菜单(WP教程add_menu_page)
- 为MOSS页面添加后台代码的两种方式(一)
- 在WordPress后台菜单系统中添加Home链接
- 在WordPress的后台中添加顶级菜单和子菜单的函数详解
- wordpress 后台添加子菜单 常用的几种情况
- Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较