WordPress後臺添加側邊欄菜單

添加WordPress頂級管理菜單其實也是一件很是簡單的事情,使用兩個WordPress內置函數就能夠解決問題,分別是 add_menu_page()add_action(),下面我提供一個php示例代碼,添加到主題目錄下的functions.php中就能夠了:
  1. /**
  2. * 名稱:WordPress後臺添加頂級菜單
  3. * 做者:露兜
  4. * 博客:http://www.ludou.org/
  5. * 最後修改:2011年01月26日
  6. */

  7. // my_add_pages() 爲 'admin_menu' 鉤子的回調函數
  8. function my_add_pages() {
  9.     // 第一個參數'Help page'爲菜單名稱,第二個參數'使用幫助'爲菜單標題
  10.     // 'manage_options' 參數爲用戶權限
  11.     // 'my_toplevel_page' 參數用於調用my_toplevel_page()函數,來顯示菜單內容
  12.     add_menu_page('Help page', '使用幫助', 'manage_options', __FILE__, 'my_toplevel_page');
  13. }

  14. // my_toplevel_page() 用於顯示菜單的內容,填寫菜單頁面的HTML代碼便可
  15. function my_toplevel_page() {
  16.     echo '
  17.     這裏填菜單頁面的HTML代碼
  18.     ';

  19.     // 如如下示例代碼。 wrap 類是WordPress構建好的css類,能夠在你的HTML代碼中使用
  20.     /*
  21.     echo '
  22.     <div class="wrap">
  23.     <h2>使用幫助</h2>
  24.     <p>這裏是使用幫助,經過閱讀本文你將瞭解本程序的使用!有事請<a href="#">與我聯繫</a></p>
  25.     </div>
  26.     ';
  27.     */
  28. }

  29. // 經過add_action來自動調用my_add_pages函數
  30. 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中就能夠了:
  1. /**
  2. * 名稱:WordPress後臺添加側邊欄子菜單
  3. * 做者:露兜
  4. * 博客:http://www.ludou.org/
  5. * 最後修改:2011年01月26日
  6. */

  7. function my_add_submenu() {
  8.     add_submenu_page( 'tools.php', 'my_backup', '備份', 'manage_options', 'backup-page', 'my_magic_function');
  9. }

  10. // 用於顯示菜單的內容,填寫菜單頁面的HTML代碼便可
  11. function my_magic_function() {
  12.     echo '
  13.     這裏填菜單頁面的HTML代碼
  14.     ';

  15.     // echo '
  16.     // <div class="wrap">
  17.     // <h2>備份</h2>
  18.     // <p>這裏能夠備份你的博客數據庫。</a></p>
  19.     // </div>
  20.     // ';
  21. }

  22. // 經過add_action來自動調用my_add_submenu函數
  23. add_action('admin_menu', 'my_add_submenu');
複製代碼
添加子菜單主要經過 add_submenu_page()函數來實現,這個函數有不少參數,下面我來介紹這幾個參數的做用。下面是該函數的原型:
  1. 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      全部調用的函數名稱,經過調用這個函數來顯示這個子菜單頁面的內容
相關文章
相關標籤/搜索