こんにちは。デザイナーのSUZUKIです。
前回はWordPressの「ユーザーの種類と権限」とユーザーごとに振り分ける方法を紹介しましたが、
その応用で、今回は管理画面の左サイドバーメニューをユーザーの権限ごとにカスタマイズする方法を紹介します。
- 左サイドバーメニューの非表示
- 左サイドバーメニューの表記名を変更
- 左サイドバーメニューの表示順の変更
管理者以外のユーザーには必要のない項目を非表示にしたり、
メニュー名を変更するなど、ユーザーにとっても使いやすくし、
また、プラグインやテンプレートなどWordPress全体に関わる内容を間違えて、変更されないようにもできます。
1. 左サイドバーメニューの非表示
admin_menuフックを使い、remove_menu_pageで非表示が可能です。
下記は主なメニューの例です。
非表示にしたいメニューを選んで、functions.phpに記述してください。
function remove_menus () {
remove_menu_page('index.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');
また、サブメニューを非表示にする場合は、remove_submenu_page()を使用します。
function remove_menus () {
remove_submenu_page('edit.php', 'edit.php'); // 投稿一覧
}
add_action('admin_menu', 'remove_menus');
前回の方法と組み合わせて、左サイドバーメニューを非表示する方法は下記になります。
例:管理者以外のユーザーの場合、「コメント」、「ツール」、「投稿一覧」を非表示
function remove_menus () {
if (!current_user_can('administrator')) { //管理者ではない場合
remove_menu_page('edit-comments.php'); // コメント
remove_menu_page('tools.php'); // ツール
remove_submenu_page('edit.php', 'edit.php'); // 投稿一覧
}
}
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', // ダッシュボード
'users.php', // ユーザー
'edit.php', // 投稿
'upload.php', // メディア
'edit.php?post_type=page', // 固定ページ
'edit-comments.php', // コメント
'separator1',
'themes.php', // 外観
'plugins.php', // プラグイン
'tools.php', // ツール
'options-general.php', // 設定
'separator-last',
);
}
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/