こんにちは。デザイナーのSUZUKIです。
前回はWordPressの「ユーザーの種類と権限」とユーザーごとに振り分ける方法を紹介しましたが、
その応用で、今回は管理画面の左サイドバーメニューをユーザーの権限ごとにカスタマイズする方法を紹介します。
- 左サイドバーメニューの非表示
- 左サイドバーメニューの表記名を変更
- 左サイドバーメニューの表示順の変更
管理者以外のユーザーには必要のない項目を非表示にしたり、
メニュー名を変更するなど、ユーザーにとっても使いやすくし、
また、プラグインやテンプレートなどWordPress全体に関わる内容を間違えて、変更されないようにもできます。
1. 左サイドバーメニューの非表示
admin_menuフックを使い、unsetで非表示が可能です。
下記内容は左サイドバーメニューを載せているので、
非表示したいものだけ残して、functions.phpに記述してください。
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');
またサブメニューから削除したい場合は下記を参考にfunctions.phpに記述してください。
function remove_menus () { global $submenu; unset($submenu['edit.php'][5]); // 投稿一覧 } add_action('admin_menu', 'remove_menus');
前回の方法と組み合わせて、左サイドバーメニューを非表示する方法は下記になります。
例:管理者以外のユーザーの場合、「コメント」、「ツール」、「投稿一覧」を非表示
function remove_menus () { if (!current_user_can('administrator')) { //管理者ではない場合 global $menu; global $submenu; unset($menu[25]); // コメント非表示 unset($menu[75]); // ツール非表示 unset($submenu['edit.php'][5]); // 投稿一覧 } } add_action('admin_menu', 'remove_menus');
「1. 左サイドバーメニューの非表示」はなるべく対応することをおすすめします。
WordPressに慣れていないユーザーもいるので、間違えて設定を変更してしまう可能性もあります。
未然に事故を防ぐ上でも、ユーザーにとって余計なメニューは非表示にするといいと思います。
2. 左サイドバーメニューの表記名を変更
admin_menuフックを使い、表記名の変更が可能です。
例:「投稿」を「お知らせ」、「投稿一覧」を「お知らせ一覧」に変更
function edit_admin_menus() { global $menu; global $submenu; $menu[5][0] = 'お知らせ'; // 投稿 $submenu['edit.php'][5][0] = 'お知らせ一覧'; // 投稿一覧をお知らせ一覧に変更 } add_action( 'admin_menu', 'edit_admin_menus' );
3. 左サイドバーメニューの表示順の変更
必要な項目を上部に変更することで、使いやすく変更が可能です。
例:「投稿」、「固定ページ」を上部に移動
function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( 'index.php', // ダッシュボード 'edit.php', // 投稿 'edit.php?post_type=page', // 固定ページ 'edit-comments.php', // コメント 'separator1', // 区切り線1 'upload.php', // メディア 'link-manager.php', // リンク 'users.php', // ユーザー 'separator2', // 区切り線2 'themes.php', // テーマ 'plugins.php', // プラグイン 'tools.php', // ツール 'options-general.php', // 設定 'separator-last', // 区切り線3 ); } add_filter('custom_menu_order', 'custom_menu_order'); add_filter('menu_order', 'custom_menu_order');
「2. 左サイドバーメニューの表記名を変更」、「3. 左サイドバーメニューの表示順の変更」は
WordPressを使いやすくする内容なので、余裕があれば対応しておくといいと思います。
まとめ
WordPressやWebに慣れていないユーザーにとって、
投稿するのは敷居が高い作業になります。
せっかく導入したWordPressを有効に活用、頻繁に利用してもらうためにも
上記の記述を参考に、カスタマイズをしてみてください。
とても簡単なので、安心して試してみてください。
今回は左サイドバーメニューのカスタマイズを紹介しましたが、
投稿画面のカスタマイズも可能なので、次回以降で紹介できればと思っています。
参考リンク
下記は参考にしたサイトになります。
詳しく知りたい方はどうぞ。
http://nangoku-ski-club.sakura.ne.jp/wordpress/?p=5215
http://qiita.com/konweb/items/5483efbe87087eff5cc8http://wald-grun.biz/blog/wp/4564/