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

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

函数用法:

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

下面说说各参数:

$parent_slug:(字符串) (必须)顶级菜单名称,可以在顶级菜单中加入我们的子菜单,也可以在自定义顶级菜单中加入子菜单;

几种情况:

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', … );

$page_title:(字符串) (必须) 这个参数是子菜单的标题,将会显示在浏览器的标题栏,默认为空;

$menu_title:(字符串) (必须) 显示的菜单名称,默认为空;

$capability:(字符串) (必须) 用户权限,定义了具有哪些权限的用户会看到这个子菜单(权限部分请看文章结尾处),默认为空,参照capability;

$menu_slug:(字符串) (必须) 显示在URl上面的菜单名称,默认为空;

$function:所有调用的函数名称,通过调用这个函数来显示这个子菜单页面的内容。

1、在顶级菜单“工具(tools)”下添加子菜单

add_action('admin_menu', 'register_my_custom_submenu_page');

function register_my_custom_submenu_page() {

add_submenu_page( 'tools.php', '子菜单', '子菜单名称', 'manage_options', 'my-custom-submenu-page', 'my_custom_submenu_page_callback' );

}

function my_custom_submenu_page_callback() {

echo '

子菜单的页面内容

';

}

?>

2、在自定义的顶级菜单中添加子菜单

function add_diy_menu() {

add_menu_page(__('顶级菜单'),__('顶级菜单名称'),8,__FILE__,'my_function_menu');

add_submenu_page(__FILE__,'子菜单1','子菜单名称1',8,'your-admin-sub-menu1','my_function_submenu1');

add_submenu_page(__FILE__,'子菜单2','子菜单名称2',8,'your-admin-sub-menu2','my_function_submenu2');

}

function my_function_menu() {

echo "

顶级菜单的页面内容

";

}

function my_function_submenu1() {

echo "

子菜单1的页面内容

";

}

function my_function_submenu2() {

echo "

子菜单2的页面内容

";

}

add_action('admin_menu','add_diy_menu');

?>

另:有很多插件直接将页面菜单放在了“设置”菜单下,这里可以使用 add_options_page(),例如:

add_options_page('INLOJV', 'INLOJV', 'manage_options', 'inlo', 'inlo_page');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#String详解

字符串:stringLength - 字符串的长度。 TrimStart() 压缩空格即消除字符串开始空格TrimEnd() 消除结尾空格Trim() 同时消除开头和结尾空格。注:中间空格不消除,因为英文单词之间用空格隔开。 ToUpper() 全部变大写ToLower() 全部变小写 Repl…

linux modprobe命令参数及用法详解--linux加载模块命令

From: http://www.linuxso.com/command/modprobe.html modprobe(module probe) 功能说明:自动处理可载入模块。 语  法:modprobe [-acdlrtvV][--help][模块文件][符号名称 符号值] 补充说明:modprobe可载入指定的个别模块,…

fedora下安装pps

fedora下安装pps成功,官方下载的deb包解压,然后手动安装。大致讲一下方法,如下:到官方下载deb包,右键解压后,进入解压的文件夹,将两个tar包解压,得到etc,opt,usr,三个文件夹&#xf…

ThinkPHP整合百度Ueditor图文教程

ThinkPHP整合百度Ueditor图文教程 ThinkPHP整合百度Ueditor,基于黄永成老师的视频说明的申明:最好大家都能写绝对路径的都写好绝对路径比如:window.UEDITOR_HOME_URL 他在教程里面已经说了的,我就不再次说了啊,就一笔…

php 支付加密,关于支付时rsa加密解密的函数

//加密function _checkPadding($padding, $type) {if ($type en) {switch ($padding) {case OPENSSL_PKCS1_PADDING :$ret true;break;default :$ret false;}} else {switch ($padding) {case OPENSSL_PKCS1_PADDING :case OPENSSL_NO_PADDING :$ret true;break;default :$…

电脑延迟关机命令Shutdown详解

From: http://www.ccw.com.cn/college/soft/b2c/os/htm2010/20101208_904968.shtml 目前实现自动关机的方法主要是使用第三方软件,比较麻烦!其实,Windows自身就具备自动关机功能,它是由系统内部的 "Shutdown.exe"升序来控制的,位于"C:/windows/System32"文…

树莓派Raspberry 操作GPIO--LED

一、 安装 wiringPi : sudo apt-get install wiringPi 二、查看安装版本 三、查看端口 四、创建源文件 touch myled.c 五、编写源代码 vi myled.c 使用cat myled.c 查看 六、编译和链接wiringPi库 七、运行

SQL逗号分隔的字段统计(摘自网络)

前言:由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果…

缺少using namespace std;

错误现象&#xff1a; error C2143: syntax error : missing ; before < error C2501: list : missing storage-class or type specifiers error C2059: syntax error : < error C2039: iterator : is not a member of global namespace error C2238: unexpected token(s…

php json传输被过滤,php-the_content过滤器,用于将自定义字段添加到JSON响应

我对这个用于显示JSON API中的自定义字段的the_content过滤器感到绝望.我正在使用此插件http://wordpress.org/plugins/json-rest-api/从自定义帖子类型获得JSON响应.这些自定义帖子类型具有我必须在移动应用程序中显示的自定义字段.为了实现这一点,我编写了以下代码,该代码使用…

Ubuntu 和 Centos 的一点差别

1、 centos使用yum的方式&#xff0c;而Ubuntu使用apt-get 方式&#xff08;Raspberry也是&#xff09; 2、centos支持rpm包&#xff0c;但Ubuntu不支持 3、Ubuntu桌面系统比Centos好看&#xff0c;二者都有桌面系统和服务器系统 4、Ubuntu普通用户可以采用sudo执行root命令…

飞凌开发板 cramfs 镜像文件修改

From: http://blog.csdn.net/ex_net/article/details/7247111 CRAMFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3.    如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先得把flash上的映像文件全…

Linux下的signal信号机制

在Linux中&#xff0c;要发送一个信号相当容易。程序员需要知道两个信息&#xff1a;要发送哪个信号&#xff0c;将这个信号发送给哪个进程。可以用 man 7 signal 找到一个可以利用的信号的列表。用户可以只将信号发送给用户自己的进程&#xff0c;也可以以root身份运行从而将信…

React开发(200):三种截取字符串的方法

JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp "rcinn.cn"; 使用一个参数 alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn" alert(stmp.substring(3));//从第4个字…

oracle scn与数据恢复,[Oracle] SCN与数据恢复的关系

Oracle内部主要存在以下四种SCN1.系统检查点(system checkpoint)SCN每当一个检查点完成时&#xff0c;Oracle就把该检查点对应的SCN记录到控制文件中&#xff0c;可以用以下语句查看当前数据库的检查点SCN&#xff1a;select CHECKPOINT_CHANGE# from v$database;CHECKPOINT_CH…

js Date 生成某年某月的天数

$(function () {//构造一个日期对象&#xff1a;var day new Date(2014, 2, 0);//获取天数&#xff1a;var daycount day.getDate();alert(daycount);}) 省去了判断 闰年平年 转载于:https://www.cnblogs.com/dragon-L/p/4522144.html