添加WordPress頂級管理菜單其實也是一件很是簡單的事情,使用兩個WordPress內置函數就能夠解決問題,分別是
add_menu_page()和
add_action(),下面我提供一個php示例代碼,添加到主題目錄下的functions.php中就能夠了:
- /**
- * 名稱:WordPress後臺添加頂級菜單
- * 做者:露兜
- * 博客:http://www.ludou.org/
- * 最後修改:2011年01月26日
- */
- // my_add_pages() 爲 'admin_menu' 鉤子的回調函數
- function my_add_pages() {
- // 第一個參數'Help page'爲菜單名稱,第二個參數'使用幫助'爲菜單標題
- // 'manage_options' 參數爲用戶權限
- // 'my_toplevel_page' 參數用於調用my_toplevel_page()函數,來顯示菜單內容
- add_menu_page('Help page', '使用幫助', 'manage_options', __FILE__, 'my_toplevel_page');
- }
- // my_toplevel_page() 用於顯示菜單的內容,填寫菜單頁面的HTML代碼便可
- function my_toplevel_page() {
- echo '
- 這裏填菜單頁面的HTML代碼
- ';
- // 如如下示例代碼。 wrap 類是WordPress構建好的css類,能夠在你的HTML代碼中使用
- /*
- echo '
- <div class="wrap">
- <h2>使用幫助</h2>
- <p>這裏是使用幫助,經過閱讀本文你將瞭解本程序的使用!有事請<a href="#">與我聯繫</a></p>
- </div>
- ';
- */
- }
- // 經過add_action來自動調用my_add_pages函數
- 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,橫座標是用戶角色,縱座標是用戶權限,中間藍色高亮部分爲各個角色所擁有的權限,英文也比較好理解,不懂能夠找在線翻譯。
最後上張圖片,添加以上代碼後,能夠看到後臺多了一個
使用幫助 的頂級菜單:
下面一段是從其餘網站上看到的講解教程javascript
函數用法:php
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
下面說說各參數:css
- $page_title:(字符串) (必須) 這個參數是子菜單的標題,將會顯示在瀏覽器的標題欄,默認爲空;
- $menu_title:(字符串) (必須) 顯示的菜單名稱,默認爲空;
- $capability:(字符串) (必須) 用戶權限,定義了具備哪些權限的用戶會看到這個子菜單(權限部分請看文章結尾處),默認爲空,參照capability;
- $menu_slug:(字符串) (必須) 顯示在URl上面的菜單名稱,默認爲空;
- $function:返回的方法名稱;
- $icon_url:(字符串) (可選) 顯示的菜單圖標,可使用plugin_dir_url( __FILE__ ),圖標寬高爲16像素;
- $position:(整數) (可選) 顯示菜單的位置。經常使用位置,4或者59或者99。
示例:java
<?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";
}
到此結束
數據庫
2、添加側邊欄子菜單 全部的側邊欄子菜單,也就是在WordPress現有的菜單中,添加對應的子菜單,如往 工具菜單中添加一個子菜單 備份: 瀏覽器
如下是php示例代碼,添加到主題目錄下的functions.php中就能夠了:
- /**
- * 名稱:WordPress後臺添加側邊欄子菜單
- * 做者:露兜
- * 博客:http://www.ludou.org/
- * 最後修改:2011年01月26日
- */
- function my_add_submenu() {
- add_submenu_page( 'tools.php', 'my_backup', '備份', 'manage_options', 'backup-page', 'my_magic_function');
- }
- // 用於顯示菜單的內容,填寫菜單頁面的HTML代碼便可
- function my_magic_function() {
- echo '
- 這裏填菜單頁面的HTML代碼
- ';
- // echo '
- // <div class="wrap">
- // <h2>備份</h2>
- // <p>這裏能夠備份你的博客數據庫。</a></p>
- // </div>
- // ';
- }
- // 經過add_action來自動調用my_add_submenu函數
- add_action('admin_menu', 'my_add_submenu');
複製代碼
添加子菜單主要經過
add_submenu_page()函數來實現,這個函數有不少參數,下面我來介紹這幾個參數的做用。下面是該函數的原型:
- 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 全部調用的函數名稱,經過調用這個函數來顯示這個子菜單頁面的內容