こんにちは。デザイナーの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/