Web制作、Webサービスに関する技術やノウハウを発信するコラムサイト

WordPressで権限やユーザーごとに管理画面のサイドメニュー表示を切り分ける

  • このエントリーをはてなブックマークに追加

WordPressのサイドメニュー
デフォルトだといろいろな項目が表示されているWordPressの管理画面のサイドメニュー。
慣れていない人にはわかりづらいですよね。
また、権限によってデフォルトで非表示にしてくれたりもしますが、この部分は見せたくないな…ということも多いと思います。

今回はWordPressで権限やユーザーごとにサイドメニューの表示を変更する方法をご紹介します。

権限の種類について

まずはデフォルトの権限の種類についてご紹介します。
基本的には5つの権限が用意されています。
 
管理者
(スラッグ: ‘administrator’)
シングルサイト内のすべての管理機能にアクセスできるユーザー。
編集者
(スラッグ: ‘editor’)
他のユーザーの投稿を含むすべての投稿を公開、管理できるユーザー。
投稿者
(スラッグ: ‘author’)
自身の投稿を公開、管理できるユーザー。
寄稿者
(スラッグ: ‘contributor’)
自身の投稿を編集・管理できるが、公開はできないユーザー。
購読者
(スラッグ: ‘subscriber’)
プロフィール管理のみを実行できるユーザー。
この権限を使用して、サイドメニューの表示を変更していきましょう!

function.phpに記述する

設定についてはfunction.phpに記述していきます。

必ずバックアップを取りながら作業を進めてください。

サイドメニューの非表示用のコード

まずはサイドメニューの非表示用のコードをざっとご紹介します。
これだけをそのまま書くと、全権限のメニューが非表示になります。

例えば「投稿」などの親にあたるメニューについては、関数「remove_menu_page」を使って「○○.php」のような形で記述をしたらすぐに消えます。

カスタム投稿は「edit.php」の末尾に「?post_type=○○」のように記述をしてください。○○部分はカスタム投稿のスラッグを入れます。

サブメニュー部分は関数「remove_submenu_page」を使います。
まずは親の指定をして、そのあとURLやスラッグを指定します。

「設定」内にあるプラグインの指定は少々他と型が違います。
今回は一例としてパンくずナビゲーションを実装してくれる「Breadcrumb NavXT」を一例に出しました。
たいていはURL末尾についている「page=○○」の○○の部分を書くと消えますが、プラグインにもよるので自分で色々確かめて見てください。

権限ごとに振り分けて指定する

では権限ごとに振り分けて指定していきましょう。
例えば管理者より下の権限は設定メニューを非表示にしたい、という場合は以下のように書けば一気に非表示にすることができます。


もちろん特定の権限だけでも指定できます。


権限だけではなく、特定のユーザーに対しても振り分けることができます。
ユーザーIDを取得して、後は該当のユーザーのIDを入れるだけです。
IDはユーザー詳細のURLなどに記載されています。


例えば管理者ではあるけど、そのユーザーには非表示にしたい…というときにも以下のような記述で使えます。
管理者より下の権限、またはユーザーID:3(この人は本来であれば管理者権限)の時にプラグインメニューが非表示になります。


これらを駆使すると、管理画面のメニューをきれいにできます。
プラグインなどを使用する方法もありますが、単純な物であればコード上で管理した方が分かりやすいと思います。

おまけ:CSSで非表示にする

ちなみにプラグインなど、どうしても消えない!という場合があります。
そんな時はcssで消すのもありです。

このようにfunction.phpに記述をします。

何をしているかというと、サイドメニューのliタグについているidをコンソールなどで確認して、そのidに対して非表示の設定を行っています。
あまりスマートなやり方ではないと思うので多用はしないほうがいいと思いますが、どうしても消えない場合は試してみるのもありだと思います。


ぜひ試してみてください!




執筆者:工藤 [ WEBデザイナー ]

WEBデザイナー。 最近はWordPressを触るのが好きです。よろしくお願いします。

関連記事

WordPress

お問い合わせフォーム作成WPプラグインに返信機能を追加!

弊社が提供しているWordPressプラグイン『Easy Form Maker』に返信機能が追加されました! 『Easy Form Maker』は日本語で制作した、お問い合わせのWordPressプラグインです。 ※返信機能については有料版のみの提供となります 今回はその返信機能についてご紹介します。 基本的な使い方については、こちらの記事をご覧ください。 目次1 こんなことで困っていませんか?2 実際の画面を見てみよう2.1 お問い合わせの一覧2.2 全体2.3 お問い合わ […]

マークアップ

SharePoint クラシックUIの通知機能をPower Automateで再現する

SharePoint サイトをモダンUIへ移行すると、よく耳にするのが「クラシックUIにあった通知機能を使いたい」という声です。しかし、モダンUIにはクラシック時代のような「標準の通知機能」が用意されていません。 そこで活躍するのが「Power Automate」です。クラシック通知の代わりとして、リストの変更を自動で検知し、メールで知らせる仕組みを簡単に構築できます。 本記事では、クラシックUIの通知に近い形で、Power Automate を使ったメール通知フローを作成す […]

Webサイト制作

制作会社が考える、WordPressとオリジナルCMSの選定ポイント

弊社では「WordPress」を使った制作と、弊社のオリジナルCMSツール「ProG(プログ)」を使った制作の、いずれについても多くのご相談をいただいています。 それぞれにメリットがある一方で、運用時に気を付けるべき点もあり、サイトの目的や運用方法によって向き・不向きがあります。 この記事ではそれぞれの特徴を整理しながら、WordPressとオリジナルCMSを併用できるケースについてもご紹介します! 目次1 WordPressを使用するメリット1.1 多機能で自由度が高い1. […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。