[WordPress]WordPressの管理画面のメニューのカスタマイズ(非表示・表示名変更)
最終更新日:2022.05.23 [月] 公開日:2017.11.18 [土] カテゴリー:WordPress 備忘
WPとっても便利ですが、慣れてないクライアントの方が初めて使う場合、左側の管理メニュー見ても「?!」ってなることもあるでしょうし、そのメニューの名称がとっつきにくいとか、そのメニュー自体を表示させない方がいいとか、ユーザー権限で表示を隠したいとか・・・まあ、WPそれなりに色々あると思います。
検索すればたくさんたくさんやり方は出てくるのですが、私なりの整理も含めて記事にします。
左側のメニューの一部を非表示にしたい
以下、記述されたものが管理画面メニューから非表示にされます。
function remove_menus () { global $menu; unset($menu[2]); // ダッシュボード unset($menu[5]); // 投稿 unset($menu[10]); // メディア unset($menu[15]); // リンク unset($menu[20]); // ページ unset($menu[25]); // コメント unset($menu[60]); // テーマ unset($menu[65]); // プラグイン unset($menu[70]); // プロフィール unset($menu[75]); // ツール unset($menu[80]); // 設定 } add_action('admin_menu', 'remove_menus');
例えば、ツールを非表示にしたいなら
function remove_menus () { global $menu; unset($menu[75]); // ツール} add_action('admin_menu', 'remove_menus');
左側のメニューの一部をある権限のユーザーだけ非表示にしたい
function remove_menus () { if (current_user_can('level_9')) { //level9のユーザーの場合、以下のメニューをunsetする global $menu; unset($menu[75]);//ツール } } add_action('admin_menu', 'remove_menus');
function remove_menus () { if (!current_user_can('level_10')) { //level10以外のユーザーの場合、以下のメニューをunsetする global $menu; unset($menu[75]);//ツール } } add_action('admin_menu', 'remove_menus');
ちなみに、ユーザーのレベルは以下のようならしいです。
Codexより
- ユーザーレベル0は購読者に変換
- ユーザーレベル1は寄稿者に変換
- ユーザーレベル2は投稿者に変換
- ユーザーレベル3、4、5、6、7は編集者に変換
- ユーザーレベル8、9、10は管理者に変換
管理画面の左側のメニューの名称を変えたい
実はこちらの要望が私の経験上一番多いです。
例えば左メニューにある「投稿」というラベルを変更する場合です。
function remove_menus () { if (!current_user_can('level_9')) { //level9以下のユーザーの場合メニューをunsetする global $menu; unset($menu[75]);//ツール } } add_action('admin_menu', 'remove_menus'); function change_post_menu_label() { global $menu; global $submenu; $menu[5][0] = '医院ブログ'; $submenu['edit.php'][5][0] = 'ブログ'; $submenu['edit.php'][10][0] ='新しいブログ'; $submenu['edit.php'][16][0] = 'タグ'; //echo ”; } function change_post_object_label() { global $wp_post_types; $labels = &$wp_post_types['post']->labels; $labels->name = 'ブログ'; $labels->singular_name = 'ブログ'; $labels->add_new = _x('追加', 'ブログ'); $labels->add_new_item = 'ブログを新規追加'; $labels->edit_item = 'ブログの編集'; $labels->new_item = '新しいブログ'; $labels->view_item = 'ブログを表示'; $labels->search_items = 'ブログ検索'; $labels->not_found = 'ブログが見つかりませんでした'; $labels->not_found_in_trash = 'ゴミ箱のブログにも見つかりませんでした'; } add_action( 'init', 'change_post_object_label' ); add_action( 'admin_menu', 'change_post_menu_label' );
5行目の
$menu[5][0] = ‘お知らせ’;
この番号は最初のunsetの記事の数字で適宜使えます。
コメントを残す
コメントを投稿するにはログインしてください。