更新日期:2021-05-12

除了 add_menu_page 能新增控制台的最上層選單之外,也能利用另一個函數 add_submenu_page() 將選單新增在子選單裡面。

add_submenu_page 所使用的參數如下:

add_submenu_page( 
    string $parent_slug,   //必需,父選單名稱(例如在 add_menu_page 填寫的 $menu_slug),或是檔案名稱(例如設定頁面是 options-general.php)
    string $page_title,    //必需,頁面標題
    string $menu_title,    //必需,選單顯示的名稱
    string $capability,    //必需,限定能使用的角色 
    string $menu_slug,     //必需,不能重複的文件命名(僅包含小寫字母數字,破折號和下劃線字符)  
    callable $function = '',   //可選,呼叫函數 
    int $position = null       //可選,顯示的位置
);

範例如下:

add_action('admin_menu', 'sig_add_submenu_page');

function sig_add_submenu_page(){
    add_submenu_page( 'options-general.php' , 'page_title' , 'menu_title' , 'manage_options' , 'sig-my-menu' , 'sig_my_menu_page' );
}

$capability 角色說明:
https://wordpress.org/support/article/roles-and-capabilities/


$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