您现在的位置是:首页 > 网站制作 > WordpressWordpress
WordPress函数:add_menu_page()后台添加顶级菜单用法及举例
杰帅2023-06-26【Wordpress】人已围观
简介WordPress后台 管理页面包括文章、多媒体、链接、页面、评论、外观、插件……等等主菜单选项,我们在开发主题和插件的时候,想把我们的管理菜单在后台显示出来就用到了add_menu_page()函数,add_menu_page(),这个函数是往后台添加顶级菜单先,也就是和“外观”、“插件”等一样的顶级菜单。
WordPress后台 管理页面包括文章、多媒体、链接、页面、评论、外观、插件……等等主菜单选项,我们在开发主题和插件的时候,想把我们的管理菜单在后台显示出来就用到了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 此菜单项在菜单中的位置,警告:如果两个菜单项的位置属性相同,其中一个可能要被覆盖
?>
官方文档:https://developer.wordpress.org/reference/functions/add_menu_page/
二、参数详解
$page_title
(字符串) (必须) 当选择菜单时,该文本将被显示在网页的标题中。
默认值: None
$menu_title
(字符串) (必须) 在菜单上显示的名称文本
默认值: None
$capability
(字符串) (必须) 用户权限,定义了具有哪些权限的用户会看到这个子菜单
默认值: None
$menu_slug
(字符串) (必须) 这个菜单的名称是指这个菜单(应该是菜单的唯一)。在3.0版本之前,这被称为文件(或处理)参数。如果函数的参数被省略了,这menu_slug应该是PHP文件处理菜单页面内容的显示。
默认值: None
$function
(字符串) (可选) 显示菜单页的页面内容的功能。
默 认值: None. 从技术上讲,函数的参数是可选的,但如果它没有提供,那么WordPress的假设包括PHP文件将生成的管理界面,无需调用一个函数。大多数插件作者选 择把页面生成代码放在主插件文件中的函数中。如果在函数的参数指定,可以使用的menu_slug参数任意字符串。这允许使用的页面,如 ?page=my_super_plugin_page 而不是 ?page=my-super-plugin/admin-options.php.
该函数必须在两种方法中引用:
如果该函数是一个类的成员,它应该被引用为 array( $this, 'function_name' )
在所有其他情况下,使用函数名本身就足够了
$icon_url
(字符串) (可选) 该菜单的左侧菜单。
Default: 空字符串
如果你有一个自定义的图像文件,你可以使用 plugin_dir_url( FILE ) 函数来获得你的插件目录的网址,然后添加图像文件名到它。这个图标应该是 20 x 20 像素或更小。
(WP 3.8+) 假如 ‘dashicons-…’, 一个dashicon显示集合https://developer.wordpress.org/resource/dashicons/。例如,默认的 “gear” 符号可以显式地指定 ‘dashicons-admin-generic’。
(WP 3.8+) 假如 ‘data:image/svg+xml;base64…’, 指定的SVG数据图像作为一个CSS背景。
加入是 ‘none’ (以前 ‘div’),图标是一个空的DIV CSS可以更换风格。
假如是 ” (默认值), “gear” Dashicon显示 (和 menu-icon-generic 添加到链接的CSS类)。
$position
(整 数) (可选) 菜单显示的位置,这个菜单应该出现在那个菜单里面。默认情况下,如果省略此参数,则菜单将出现在菜单结构的底部。数字越高,菜单的位置越低。警告:如果两 个菜单项使用相同的位置属性,其中的项目可能被覆盖,所以只有一项显示!使用十进制来代替整型值可以减少冲突的风险,例如 63.3 而不是 63 (Note: Use quotes in code, IE ‘63.3’).常用位置,4、6、59、99、100。
三、Wordpress默认菜单属性
函数的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
所以我们自定义菜单要想显示在最下面就把position参数设为100.
四、顶级菜单设置举例
我们可以把以下代码直接复制在万能的functions.php文件下面,但是为了减少文件的代码,我们可以在主题的根目录下再建立一个文件夹,比如叫inc,在这个文件夹下面建立我们主题自己的bootstrapwp-functions.php文件,然后在functions.php文件中引入
require get_template_directory() . '/inc/bootstrapwp-functions.php';
代码如下:
<?php
function register_bwp_menu_page(){
add_menu_page( 'title标题', '菜单标题', 'administrator', 'bwp_slug','bwp_menu_page_function','',100);
}
function bwp_menu_page_function(){
echo '<h1>这是顶级菜单设置页面</h1>';
}
add_action('admin_menu', 'register_bwp_menu_page');
?>
我们自定义一个函数 register_bwp_menu_page()通过add_action挂载到admin_menu
Tags:add_menu_page() wordpress函数 wordpress教程 顶级菜单
很赞哦! ()
相关文章
随机图文
-
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功 -
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下
文章评论
本站推荐
标签云
猜你喜欢
- WordPress企业主题制作(定制)应该注意哪些事项?
- 本地测试环境支持WordPress自定义固定链接
- WordPress移动优化:打造无缝用户体验
- 什么是OG协议?
- WordPress函数get_archives_link()
- WordPress升级更新提示“请输入您的FTP登录凭据以继续”的解决方案
- Element Pack Pro 7.1.2完美汉化中文版|Elementor配套扩展小工具WordPress插件 - 搬主题
- 谷歌竞价(谷歌推广)有效果吗?怎么评估谷歌竞价的效果?
- 什么是WordPress的活动日志?
- WordPress过滤器(Filters):apply_filters和add_filter 用法和实例