5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 12131|回复: 1
打印 上一主题 下一主题

[插件/开发] wordpress插件开发教程03 添加菜单 add_menu_page add_submenu_page

[复制链接]

670

主题

785

帖子

8308

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8308
跳转到指定楼层
楼主
发表于 2021-6-5 21:29:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
添加主菜单
主菜单添加函数

  1. 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:(可选)菜单显示顺序

添加子菜单到系统菜单
添加子菜单函数

  1. 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:回调方法的名称

使用方法示例:

  1. add_submenu_page( 'index.php', … ); //在仪表盘添加子菜单
  2. add_submenu_page( 'edit.php', … ); //在文章处添加子菜单
  3. add_submenu_page( 'upload.php', … ); //在媒体处添加子菜单
  4. add_submenu_page( 'link-manager.php', … ); //在链接处添加子菜单
  5. add_submenu_page( 'edit.php?post_type=page', … ); //在页面处添加子菜单
  6. add_submenu_page( 'edit-comments.php', … ); //在评论处添加子菜单
  7. add_submenu_page('edit.php?post_type=your_post_type',…) //在你自定义文章类型处添加子菜单
  8. add_submenu_page( 'themes.php', … ); //在外观处添加子菜单
  9. add_submenu_page( 'plugins.php', … ); //在插件处添加子菜单
  10. add_submenu_page( 'users.php', … ); //在用户处添加子菜单
  11. add_submenu_page( 'tools.php', … ); //在工具处添加子菜单
  12. add_submenu_page( 'options-general.php', … ); //在设置处添加子菜单
复制代码

除此之外,还有另一种方法添加子菜单

  1. add_dashboard_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“仪表盘”
  2. add_users_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“用户”
  3. add_plugins_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“插件”
  4. add_comments_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“评论”
  5. add_media_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“媒体”
  6. add_posts_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“日志”
  7. add_pages_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“页面”
  8. add_theme_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“外观”
  9. add_options_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“设置”
  10. add_links_page($page_title, $menu_title, $capability, $menu_slug, $function); //增加子菜单到“链接”
复制代码

回复

使用道具 举报

670

主题

785

帖子

8308

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8308
沙发
 楼主| 发表于 2021-6-5 21:56:33 | 只看该作者
向后台添加一个主菜单、子菜单例子

  1. add_action('admin_menu'.'creat_menu');//加载到后台菜单钩子上
  2. function create_menu(){
  3.   //添加主菜单
  4.   add_menu_page('插件首页','插件菜单名','manage_options','qss_copyright','qss_settings_page',plugins_url('/images/icon.png',__FILE__));
  5. //添加它的子菜单 子菜单没有图标的
  6.   add_submenu_page('qss_copyright','我是子菜单名','子菜单','manage_options','qss_subcopyright','qss_subsettings_page');
  7. }
  8. //要显示的主菜单页面内容
  9. function qss_settings_page(){
  10. ?>
  11. 我是插件菜单点击后显示的内容哟
  12. <?
  13. }
  14. //要显示的子菜单页面内容
  15. function qss_subsettings_page(){
  16. ?>
  17. 我是子插件菜单点击后显示的内容哟
  18. <?
  19. }
复制代码


plugins_url('/images/icon.png',__FILE__)) 指当前插件目录下的文件
qss_settings_page 这个菜单调用出来的新页面里显示的内容,可以额外制作模板文件加载,而不是单独跳转到某一页
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-11-11 03:48 , Processed in 0.156250 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表