不論是個人或是接案,都會有自訂 WordPress 後台選單的需求,以個人來說,可能會想把預設的選單描述換成自己習慣的用語,例如:Pages(頁面),改叫網頁看比較順眼。接案的話情境更多了,通常是為了不讓業主被一大堆選單干擾(嚇到以為很難學😅),只留用得到的功能,畫面相對清爽。
接下來分享如何自訂後台選單,要達成的目標:
Let's Go!
首先我們可以使用 Admin Menu Editor 這個好用的免費外掛來修改選單描述或順序,進到該外掛的設定頁,找到 Posts,將 Menu title 從預設的 [Post] 改成 [我的文章],記得按右邊的儲存變更(Save Changes),設定就生效。
重整畫面,就會看到原本 Post 描述變成 [我的文章] 囉。
接下來我們還要針對不同的角色來顯示不同的選單,以商店經理(Shop Manager) 來示範:
我會用 Function 來做,因為 Admin Menu Editor 免費版對我來說不好設定,付費版有介面可以做到,就不用寫 Function 了。
解釋一下程式碼:
//要先確認帳號是什麼角色,所以要先取得目前角色
$user = wp_get_current_user();
//如果上一步驟取得的角色存在,同時還要是商店管理員shop_manager,才可以執行接下來的動作
if ( isset( $user->roles[0] ) && $user->roles[0] == 'shop_manager' ) {
//驗證是商店管理員後,就移除 Comments and Marketing 這兩個項目
remove_menu_page( 'edit-comments.php' ); //Comments
remove_menu_page( 'woocommerce-marketing' ); //Marketing
}
}
add_action( 'admin_menu', 'wpdocs_remove_menus' );
當然,我們可以舉一反三,變更不同的角色或移除其他選項。
這是 WordPress 各角色在程式碼表達的寫法及權限定義:
最後的成果就會長這樣,左邊選單是商店管理員,右邊是系統管理員的版本 👍