ウェブログ

管理者以外がログインしたときに管理画面の見せ方をカスタマイズする



WordPressは権限によって機能を制限することが可能です。管理者権限はプラグインの導入や削除、WordPressのアップデート、テーマの適用など全ての権限が扱え便利な反面、間違えてアップデートしてしまったり可能性があったり、全部の画面にアクセスできるため管理画面が煩雑になりがちです。

  • ログインしたときの画面をシンプルにしたい
  • WordPressに慣れていないクライアントに不要な画面へアクセスできないようにしたい
  • 間違ってアップデートをしないように制限をかけたい

例えばUser Role Editorプラグインでこのような制限をかけることは可能ですが、プラグインを利用しないでも機能制限を行うことが可能です。

クライアントワークの場合、管理者権限を渡したとしても、通常の記事更新の際のアカウントは編集者権限でログインいただいて、その編集者権限に対して制約をかけるという方法が問題も起きにくく、かつ運用もしやすいのではないでしょうか。

各権限による見え方の違い

管理者権限と編集者権限の見え方の違いを比較します。
まずは全権限のある「管理者権限「でログインしたダッシュボードの見え方。

続いて一つ下の権限である「編集者権限」でログイン。

編集者権限でログインしたときに、サイドバーのメニューがシンプルになっていますね。

  • WPコアやプラグイン等のアップデートができない
  • 「外観」にアクセスできず、テーマの変更やウィジェット、テーマカスタマイザーやメニュー等の変更ができない
  • プラグインの追加変更ができない
  • ユーザーの追加や削除ができず、自分のプロフィールしか見られない
  • サイトや投稿の設定、また各種プラグインの設定画面である「設定」にアクセスできない
  • その他、プラグインで追加されたメニューにアクセスできない

ざっと見てこのような制限がかかっています。
これでも色々と制約がかかっていますが、「もう少し画面をスッキリさせ、機能的に使いたい」という変更をしていきましょう。

使いやすい管理画面とは?

クライアントにとって使いやすい管理画面とは「必要のない余計な情報が表示されていない」「使いたい機能が揃っている」状況かと思います。一つずつみていきます。

ヘッダーの更新情報などを非表示にする


新しいWordPressが公開されると、ヘッダーに「WordPress 4.9.1 が利用可能です ! 今すぐ更新してください。」のような更新情報が表示されますが、これを非表示にします。
同時に、APIによるバージョン確認を行わないようにします。

不要な項目を非表示にする

  • ダッシュボードログイン後の画面に表示されている「アクティビティ」「クイックドラフト」「WordPressイベントとニュース」等を非表示にする
  • 右上のヘルプを非表示
  • 管理バーにある「WordPressシンボルマーク」を非表示(WordPressごめんなさい…)

といったような項目を非表示にすることで、クライアントが使わなそうな機能やリンクなどを非表示にします。

ウィジェットを表示&不要な項目を非表示


サイドバーの「外観」を無効にしつつ、ウィジェット機能のみ有効にしたいケースに対応します。
ドラッグ&ドロップで設定できる箇所やサイドバーのバナー部分など、クライアント側で触れる用に設定します。
※「ヘッダー」項目のみ非表示に設定する方法をご存知の方教えてください!

サンプルコード

前置きが長くなりました。以下のサンプルコードをfunctions.phpへ追加します。バックアップは取っておきましょう。

カスタム投稿やContact Form 7に対応する

もし、特定のカスタム投稿タイプやプラグインのContact form 7を非表示にしたい場合、上記コードの該当箇所を書き換えて下さい。

カスタム投稿名を指定する必要があるため、「カスタム投稿名」にカスタム投稿スラッグ名を書き換えます。

整理したあとの管理画面見え方


かなりスッキリしました!
ダッシュボードは概要のみ、サイドバーは必要最低限、しかしウィジェットにはアクセスできる。
環境に応じて表示非表示を設定していただいて、クライアントワークに活用いただければと思います。

この記事を書いた人

池田祐太郎

池田祐太郎

WordPress好きの池田です。Webの仕事の前はライブハウスでブッキングや音響をしてました。PHP, JavaScriptを自由に操りたいと思いつつ、つい訪れたサイトのソースコードを見てしまいます。


CONTACTお問い合わせ / お見積もり