https://my.oschina.net/shunshun/blog/78193

https://www.ludou.org/add-admin-menu-in-wordpress.html

添加WordPress顶级管理菜单其实也是一件非常简单的事情,使用两个WordPress内置函数就可以解决问题,分别是add_menu_page()和 add_action(),下面我提供一个php示例代码,添加到主题目录下的functions.php中就可以了:

  1. /**
  2. * 名称:WordPress后台添加顶级菜单
  3. * 作者:露兜
  4. * 博客:http://www.ludou.org/
  5. * 最后修改:2011年01月26日
  6. */
  7. // my_add_pages() 为 'admin_menu' 钩子的回调函数
  8. function my_add_pages() {
  9. // 第一个参数'Help page'为菜单名称,第二个参数'使用帮助'为菜单标题
  10. // 'manage_options' 参数为用户权限
  11. // 'my_toplevel_page' 参数用于调用my_toplevel_page()函数,来显示菜单内容
  12. add_menu_page('Help page', '使用帮助', 'manage_options', __FILE__, 'my_toplevel_page');
  13. }
  14. // my_toplevel_page() 用于显示菜单的内容,填写菜单页面的HTML代码即可
  15. function my_toplevel_page() {
  16. echo '
  17. 这里填菜单页面的HTML代码
  18. ';
  19. // 如以下示例代码。 wrap 类是WordPress构建好的css类,可以在你的HTML代码中使用
  20. /*
  21. echo '
  22. <div class="wrap">
  23. <h2>使用帮助</h2>
  24. <p>这里是使用帮助,通过阅读本文你将了解本程序的使用!有事请<a href="#">与我联系</a></p>
  25. </div>
  26. ';
  27. */
  28. }
  29. // 通过add_action来自动调用my_add_pages函数
  30. add_action('admin_menu', 'my_add_pages');

复制代码

上面的代码注释已经比较清晰的介绍了主要内容,下面我再补充一点,关于add_menu_page的第三个参数,上面代码中传递了 manage_options 这个值,这个参数值为用户权限,也就是说只当当前已登录的用户具有manage_options这项权限时,才会在后台侧边栏显示你添加的这个菜单。需要提醒的是,这个是权限参数在WordPress 3.0中已被重新定义,之前版本可以往这个参数传递用户等级(1-10),但是如果你使用的是3.0以后的版本,请传递用户权限值。 
     关于各个用户角色所具有的权限,可以参看这个对应关系表: Capability vs. Role Table,横坐标是用户角色,纵坐标是用户权限,中间蓝色高亮部分为各个角色所拥有的权限,英文也比较好理解,不懂可以找在线翻译。

  • User Level 0 converts to Subscriber
  • User Level 1 converts to Contributor
  • User Level 2 converts to Author
  • User Level 3 converts to Editor
  • User Level 4 converts to Editor
  • User Level 5 converts to Editor
  • User Level 6 converts to Editor
  • User Level 7 converts to Editor
  • User Level 8 converts to Administrator
  • User Level 9 converts to Administrator
  • User Level 10 converts to Administrator

最后上张图片,添加以上代码后,可以看到后台多了一个 使用帮助 的顶级菜单:

下面一段是从其他网站上看到的讲解教程

函数用法:

add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );

下面说说各参数:

  • $page_title:(字符串) (必须) 这个参数是子菜单的标题,将会显示在浏览器的标题栏,默认为空;
  • $menu_title:(字符串) (必须) 显示的菜单名称,默认为空;
  • $capability:(字符串) (必须) 用户权限,定义了具有哪些权限的用户会看到这个子菜单(权限部分请看文章结尾处),默认为空,参照capability;
  • $menu_slug:(字符串) (必须) 显示在URl上面的菜单名称,默认为空;
  • $function:返回的方法名称;
  • $icon_url:(字符串) (可选) 显示的菜单图标,可以使用plugin_dir_url( __FILE__ ),图标宽高为16像素;
  • $position:(整数) (可选) 显示菜单的位置。常用位置,4或者59或者99。

示例:

<?php
add_action('admin_menu', 'register_custom_menu_page'); 
function register_custom_menu_page() { 
    add_menu_page('自定义菜单标题', '测试菜单', 'administrator', 'myplugin/myplugin-index.php','',plugins_url('myplugin/images/icon.png'), 6); 

//然后将下面的代码放到myplugin/myplugin-index.php文件中 
echo "Admin Page Test";
//或者使用下面方法 
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 custom_menu_page(){ 
    echo "Admin Page Test"; 
}
到此结束

二、添加侧边栏子菜单     所有的侧边栏子菜单,也就是在WordPress现有的菜单中,添加对应的子菜单,如往 工具菜单中添加一个子菜单 备份

以下是php示例代码,添加到主题目录下的functions.php中就可以了:

  1. /**
  2. * 名称:WordPress后台添加侧边栏子菜单
  3. * 作者:露兜
  4. * 博客:http://www.ludou.org/
  5. * 最后修改:2011年01月26日
  6. */
  7. function my_add_submenu() {
  8. add_submenu_page( 'tools.php', 'my_backup', '备份', 'manage_options', 'backup-page', 'my_magic_function');
  9. }
  10. // 用于显示菜单的内容,填写菜单页面的HTML代码即可
  11. function my_magic_function() {
  12. echo '
  13. 这里填菜单页面的HTML代码
  14. ';
  15. // echo '
  16. // <div class="wrap">
  17. // <h2>备份</h2>
  18. // <p>这里可以备份你的博客数据库。</a></p>
  19. // </div>
  20. // ';
  21. }
  22. // 通过add_action来自动调用my_add_submenu函数
  23. add_action('admin_menu', 'my_add_submenu');

复制代码

添加子菜单主要通过 add_submenu_page()函数来实现,这个函数有很多参数,下面我来介绍这几个参数的作用。下面是该函数的原型:

  1. add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );

复制代码

$parent_slug 
     这个参数为WordPress内置菜单的文件名称或缩略名,这里我们通常采用菜单文件名的方式。传递这个参数,就说明要往这个顶级菜单添加子菜单, 以上示例代码中传递的值为 tools.php ,对应工具顶级菜单,下面提供这个参数的所有值及其对应的顶级菜单:

  • index.php:控制板
  • edit.php:文章
  • upload.php:媒体
  • link-manager.php:链接
  • edit.php?post_type=page:页面
  • edit-comments.php:评论
  • themes.php:主题
  • plugins.php:插件
  • users.php:用户
  • tools.php:工具
  • options-general.php:设置

$page_title 
     这个参数是子菜单的标题,将会显示在浏览器的标题栏。 
$menu_title 
     这个是子菜单的名称,将会显示在侧边栏 
$capability 
     用户权限,这个定义了具有哪些权限的用户会看到这个子菜单,具体的参数值,可以参考上面第一部分的顶级菜单的说明。 
$menu_slug 
     子菜单的缩略名,请使用一个唯一的名称,英文形式。 
$function 
     所有调用的函数名称,通过调用这个函数来显示这个子菜单页面的内容

WordPress后台添加侧边栏菜单相关推荐

  1. php在菜单栏里加子菜单,WordPress后台添加子菜单add_submenu_page()

    接上文:WordPress后台添加顶级菜单add_menu_page(),今儿再分享一下在 wordpress 后台侧边栏添加子菜单的方法,用到的函数是:add_submenu_page() 函数用法 ...

  2. wordpress后台添加子菜单 add_submenu_page()

    https://blog.csdn.net/chaishen10000/article/details/46940257 http://yangjunwei.com/868.html

  3. vue后台管理侧边栏菜单布局

    三级菜单 1.使用Element组件中NavMenu 导航菜单 <!-- 侧边栏 --><el-aside width="212px"><!-- 侧边 ...

  4. wordpress后台外观没有菜单和小工具的解决方法

    进入wordpress后台,打开functions.php这个模板 在里面加入这段代码: if ( function_exists('register_sidebar') )register_side ...

  5. 后台添加导航菜单(可显示或隐藏)

    后台系统设置下面添加: <TR height=30 class="hoverbg"><TD class="menutd"><A c ...

  6. php后台幻灯片管理,wordpress进阶教程(三十七):wordpress后台添加幻灯片板块

    本站框架有提供添加幻灯片的步骤,请直接前往本站 框架栏目->幻灯片插件. 网页幻灯片(slider)应用很广泛,很多博客也喜欢在首页弄一个特色文章切换. 不管是文章切换还是图片切换,或者是图文混 ...

  7. php推送示例wordpress,给WordPress的编辑后台添加提示框的代码实例分享

    WordPress 3.5 新添加了一个提示框功能,可以创建一个提示框,然后指向任何元素,比如下边的例子: 本文就来教你怎么创建一个这样的提示框. 首先需要添加提示框 的脚本,这样才能使用提示框的 J ...

  8. php删除管理员,WordPress 移除管理员后台添加用户权限

    其实关于 WordPress 自定义添加.删除.修改用户角色及权限子凡又在之前做过分享,但对于 WordPress 的用户系统来说,用户的权限其实还是蛮多的,那么今天就分享一个罕见甚至很多人都不会用到 ...

  9. 如何在WordPress中制作导航菜单(7个功能点)

    在wordpress中添加导航菜单是初级的操作,但对于新手而言依旧会遇到一些问题,接下来我们就逐一讲解. 什么是导航菜单 导航菜单通常位于网站的顶部和底部,用于方便用户快速打开关键页面,譬如下方两张图 ...

最新文章

  1. 无法使用_解决kali linux 2020 安装完后发现无法使用 ifconfig
  2. kafka如何彻底删除topic及数据
  3. 下列哪个适合做链栈_朋友圈人格图鉴:三天可见 vs 全部可见,哪个更适合做恋人?...
  4. 64位 iee754_IEEE754浮点表示法详解
  5. oracle windows 优化工具,使用Windows工具管理Nt上的Oracle数据库
  6. jsp,mysql乱码情况1
  7. 无缝世界网游服务器架构的设计思路
  8. [运维]PowerShell简体中文编码转换
  9. python查看数据库存在表_python sqlite3查看数据库所有表(table)
  10. WPS:添加公式后,行间距变宽的解决方法
  11. layui模态框不居中的几种解决方法
  12. 【源码解析】StyleNeRF 之Train_encoder.py
  13. TensorFlowX.Y核心基础与AI模型设计开篇
  14. ICS课程学习(1)——概述
  15. 在线书籍阅读,免费搭建站点
  16. PJzhang:贷款逾期与失信被执行人
  17. 声音频率和乐器知识记录
  18. 数学故事(统计学的妙用)
  19. C# 读取txt文件生成Word文档
  20. 5GC architecture N1、N2、N3、N4、N6等接口

热门文章

  1. 判断程序是否已经运行
  2. genymotion 极速模拟器
  3. =======================================以前的======================================
  4. vSphere5.5安装教程
  5. Android屏幕大小适配问题解决
  6. 如何建立双机热备系统
  7. 标准化(Normalization)和归一化实现
  8. 相似图像搜索的哈希算法思想及实现(差值哈希算法和均值哈希算法)
  9. 5886. 如果相邻两个颜色均相同则删除当前颜色
  10. leetcode 1723. 完成所有工作的最短时间(二分+剪枝+回溯)