ユーザの権限レベルに合わせて管理画面のメニューを非表示にする方法
6851 Views
WordPress
WordPress
WordPressでサイトを制作していると、ここはカスタム投稿で作って登録した方が楽だな〜
っと制作者サイドでなる時があるのですが、お客さんには関係ない・編集させたくない!
になるケースがありました。
お客さんが編集する箇所は投稿者権限だけで十分な場合、発行するアカウントの権限レベルに合わせて「投稿」「カスタム投稿」「コメント」「ツール」などを非表示にする方法があるのでご紹介。
スポンサーリンク
以下のコードをfunctions.phpに貼り付ける
<?php function remove_menu() { //ユーザの権限を取得 global $current_user; $userLevel = array_keys($current_user->caps); //全権限共通で非表示にしたい項目 remove_menu_page('link-manager.php'); //リンク remove_menu_page('edit-comments.php'); //コメント //権限ごとに非表示にしたい項目 if ($userLevel == "administrator") { //管理者権限 } else if ($userLevel == "editor") { //編集者権限 remove_menu_page('tools.php'); //ツール } else if ($userLevel == "author") { //投稿者権限 remove_menu_page('tools.php'); //ツール remove_menu_page('edit.php?post_type=news'); //お知らせ } else if ($userLevel == "contributor") { //寄稿者権限 } else if ($userLevel == "subscriber") { //購読者権限 } } add_action('admin_menu', 'remove_menu');
以上です!
remove_menu_page()の引数に設定したページが非表示にできるので、非表示にしたいページのスラッグを確認して実装してみてください。
スポンサーリンク