WordPress函数:add_submenu_page()后台为顶级菜单添加子菜单用法及举例

一、函数用法

  1. <?php   
  2. add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );   
  3. //parent_slug-父级菜单项的别名   
  4. //page_title--页面的title信息   
  5. //menu_title-菜单标题   
  6. //capability-权限   
  7. //menu_slug-别名   
  8. //function-执行的函数   
  9. ?>

官方文档:http://codex.wordpress.org/Function_Reference/add_submenu_page

二、参数详解

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

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

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

$capability:(字符串) (必须) 用户权限,定义了具有哪些权限的用户会看到这个子菜单(权限部分请看文章结尾处),默认为空;关于用户权限的官方文档:http://codex.wordpress.org/Roles_and_Capabilities

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

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

工具菜单中添加一个子菜单备份:
以下代码引自露兜博客 http://www.ludou.org

  1. function my_add_submenu() {
  2.     add_submenu_page( 'tools.php', 'my_backup', '备份', 'manage_options', 'backup-page', 'my_magic_function');
  3. }
  4. // 用于显示菜单的内容,填写菜单页面的HTML代码即可
  5. function my_magic_function() {
  6.     echo '    这里填菜单页面的HTML代码    ';
  7.     // echo '
  8.     // <div class="wrap">
  9.     // <h2>备份</h2>
  10.     // <p>这里可以备份你的博客数据库。</a></p>
  11.     // </div>
  12.     // ';
  13. }
  14. // 通过add_action来自动调用my_add_submenu函数
  15. add_action('admin_menu', 'my_add_submenu');

四、为自定义菜单添加子菜单用法及举例

我们可以把以下代码直接复制在万能的functions.php文件下面,但是为了减少文件的代码,我们可以在主题的根目录下再建立一个文件夹,比如叫inc,在这个文件夹下面建立我们主题自己的bootstrapwp-functions.php文件,然后在functions.php文件中引入

  1. require get_template_directory() . '/inc/bootstrapwp-functions.php';

引用TreeWork(阿树工作室)http://www.ashuwp.com/

  1. <?php      
  2. function test_function(){      
  3.     add_menu_page( 'title标题', '菜单标题', 'edit_themes', 'ashu_slug','display_function','',6);      
  4. }    
  5. function display_function(){      
  6.     echo '<h1>这是设置页面</h1>';      
  7. }      
  8. add_action('admin_menu', 'test_function');   
  9.  
  10. //以下是添加子菜单项代码   
  11. add_action('admin_menu', 'add_my_custom_submenu_page');   
  12.  
  13. function add_my_custom_submenu_page() {   
  14.     //顶级菜单的slug是ashu_slug   
  15.     add_submenu_page( 'ashu_slug', '子菜单', '子菜单', 'edit_themes', 'ashu-submenu-page', 'my_submenu_page_display' );    
  16. }   
  17. function my_submenu_page_display() {   
  18.     echo '<h3>我是阿树工作室,子菜单项的输出代码</h3>';  
  19. } 
  20. ?>

这样会在自定义的顶级菜单 '菜单标题' 下重复显示 菜单标题这个title,下面的方法能避免。

  1. <?php
  2. function add_diy_menu() {
  3.  
  4.     add_menu_page( 'Bwp选项', 'Bwp选项', 'administrator', 'custompage', 'rainbow_my_function_menu', '', 100);
  5.  
  6.     add_submenu_page('custompage', '子菜单1', '基本设置', 'administrator', 'custompage', 'rainbow_my_function_menu');
  7.  
  8.     add_submenu_page('custompage', '子菜单2', '模式设置', 'administrator', 'your-admin-sub-menu2', 'my_function_submenu2');
  9. 	add_submenu_page('custompage', '子菜单3', '首页slider', 'administrator', 'your-admin-sub-menu3', 'my_function_submenu3');
  10.  
  11. }
  12. add_action('admin_menu','add_diy_menu');
  13.  
  14. function rainbow_my_function_menu() {
  15.     echo "<h2>基本设置</h2>";
  16. }
  17. function my_function_submenu2() { 
  18.     echo "<h2>模式设置</h2>";
  19. }
  20. function my_function_submenu3() { 
  21.     echo "<h2>首页slider</h2>";
  22. }
  23. ?>

add_submenu_page


发布日期:

所属分类: Wordpress, WordPress 函数 标签: