wordpressh后台怎么外观增加一个子菜单

wordpress后台是可以进行订制,添加个菜单或者删除个菜单,都是可以订制。这里从简单的一个开始,就是给后台外观下添加一个添加一个子菜单,因为WordPress提供的有个函数add_theme_page, 可以轻松的完成。

进行代码的编写,一件事情,就是要知道代码写在什么地方。 wordpress每个主题下,都可以有个文件 functions.php 文件。当然有些主题这个文件是不存在的,如果这个文件不存在,在当前启用的主题下,新建一个就可以。

add_theme_page 介绍

/**
 * 在主题菜单中增加一个子菜单
 *
 * @$page_title  当点击这个菜单的适合,参数的会在页面的 <title></title> 中的内容显示
 * @$menu_title 在菜单中显示的文字
 * @$capability  权限,谁可以进行这个操作 , 一般用 administrator 表示管理员
 * @$menu_slug  这个名字是的,因为用在网址中 比如: /wp-admin/themes.php?page=*****
 * @$function   调用的函数,这个函数的输出被显示出来,通常包含一个表单,或者提示信息。
 * @return false|string 返回是false 表示当前用户没有权限调用
 */
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' )

示例代码

function wz_add_sub_menu(){   
   add_theme_page(
         'title标题的内容',
         '子菜单的名字',
         'administrator',
         'test',
         'wz_show');   
}   

function wz_show(){   
    echo '<h1>这是设置页面</h1>';   
}   
add_action('admin_menu', 'wz_add_sub_menu');

示例代码效果

添加的菜单– 对应二个参数 menu_tilte

wordpress子菜单

title的显示–对应一个产生

url中的产生 — 对应对四个参数

代码分析

代码一共两个函数,一个action 。如果代码修改为这个样子

function wz_show(){   
    echo '<h1>这是设置页面</h1>';   
}   
add_theme_page( 'title标题的内容', '子菜单的名字', 'administrator', 'test','wz_show');   

会发现出现错误,函数 add_theme_page不存在, 理解代码执行的关键在于理解这个action的执行流程。 首先增加一个动作,这个动作在wordpress初始化后台的时候执行,到这个时候就已经加载了函数add_theme_page所在的文件。然后执行函数wz_add_sub_menu,后调用 add_theme_page
一句上面代码执行的原因是: 主题目录下 functions.php 执行早于 /wp-admin/includes/plugins.php 这个文件加载, 而函数add_theme_page 就在该文件中

函数add_theme_page其实调用的函数 add_submenu_page
函数源代码

function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
    return add_submenu_page( 'themes.php', $page_title, $menu_title, $capability, $menu_slug, $function );
}

函数add_submenu_page的看名字就知道什么意思。