管理権限は与えたいが、左の管理者メニューが多すぎるそうなので、ユーザーid1以外のユーザーには機能を非表示にするメモ。
/*====================================
特定ユーザー以外で機能を非表示
======================================*/
function remove_menus () {
global $current_user;
get_currentuserinfo();
if( $current_user->ID !== 1) { // 「1」は全権持たせたいユーザーID
remove_menu_page ('index.php'); // ダッシュボード
remove_submenu_page( 'index.php', 'update-core.php' ); // 更新
//remove_menu_page ('edit.php'); // 投稿
//remove_menu_page ('upload.php'); // メディア
//remove_menu_page( 'edit.php?post_type=page' ); // 固定ページ
remove_menu_page ('edit-comments.php'); // コメント
remove_menu_page ('themes.php'); // 外観
remove_menu_page ('plugins.php'); // プラグイン
remove_menu_page ('users.php'); // ユーザー
remove_menu_page ('tools.php'); // ツール
remove_menu_page ('options-general.php'); // 設定
}
}
add_action('admin_menu', 'remove_menus');
コメントアウトしている場所は他のIDのユーザーも表示したいメニュー。削除してもいいんだけど、今後使いまわせるようにコメントアウトにしてある。
siteguardとかのプラグイン機能も設定を変更されないように非表示にしたいんだけど、今回はそこまではちょっとわからなかった。
https://developer.wordpress.org/reference/functions/get_currentuserinfo/