WordPressサイトを運営していると、外部の会社やプログラマーに一部のカスタマイズやシステムを確認してもらうことがあります。その際、サイトの管理画面であるダッシュボードを操作してもらうわけですが、通常はセキュリティ上の観点からデフォルトで用意されている権限を利用して一部のコンテンツを編集できないようにしたりします。複数のユーザーで管理しているサイトでも利用される機能ですね。

WordPressデフォルトで用意されている権限は、以下の通りです。

  • 管理者
  • 編集者
  • 投稿者
  • 寄稿者
  • 購読者

ただ、デフォルトの権限では、デフォルトのサイドメニュー「外観」に含まれているメニューやウィジェットを操作可能でかつ、テーマの編集のみを不可にすることはできません。外部のエンジニアにサイトをチェックしてもらう際、メニューやウィジェットが操作できないと詳細の検証が難しくなるので、そこは編集できるようにしたいですね。

以前紹介している下記の2つのプラグインを組み合わせることで、こういった類の問題を解決できるので、当記事でその方法をご紹介いたします。

使用するプラグインとその役割

下記記事で紹介しているプラグイン「User Role Editor」、「Admin Menu Editor」の機能を組み合わせて権限と管理画面をオリジナルにカスタマイズします。それぞれの詳細は以下の記事でご確認いただけます。これらのプラグインの機能を組み合わせれば、サイト権限の管理は自由自在です。

具体的な設定方法

以下で、各プラグインを組み合わせて使う場合の具体的な設定方法を説明いたします。

デフォルトにはないオリジナルの権限を新しく作成しよう

まずは、プラグイン「User Role Editor」を有効化してデフォルトの権限とは別にオリジナルの権限を作成してみましょう。下記箇所(左下)から「User Role Editor」をクリックして「権限グループの追加」をクリックします。

権限グループ名には英字を。「表示する権限名」には、例えば外部の企業やエンジニアの名前などを入力してわかりやすく設定するといいでしょう。「コピー元」では、デフォルトですでに存在している権限をコピーできます。今回は、「編集者」を選んだ場合の例です。入力が済んだら「権限グループ」の追加を押します。

デフォルトの権限は編集しないことをおすすめします。デフォルトの権限を適用した際に制限されるはずの編集が可能になってしまうことを防ぐためです。デフォルトの権限とは別に新しいオリジナルの権限を作って自由に編集する方法がベターでしょう。

通常の「編集者」の権限では、記事の管理はすべて可能ですが、「外観」「プラグイン」「設定」などの管理機能は設定できません。なので、まずはこの権限をコピーした後に、外観を編集できるように以下の部分にチェックを入れます。

これで編集者権限では編集できなかった「外観」やTCDテーマの場合「TCDテーマオプション」を編集することが可能になります。

ただ、このままの状態では、上記のような4項目が表示されるので、シンプルに「ウィジェット」「メニュー」のみを表示するためにもう一つのプラグインを活用するということです。

デフォルトで表示されているメニューをカスタマイズする

「Admin Menu Editor」を有効化し、下記箇所から「設定」をクリックします。

その後、表示される「外観」を選択し、上記で設定した新しい「エンジニア用」の権限で表示したくない項目の「Extra capability」を編集します。

「Extra capability」のドロップダウンメニューで「administrator」を選択するとデフォルトの権限である「管理者」以外では、指定の項目が表示されなくなります。新しい権限を適用したアカウントでログインしなおしてみてください。以下のように表示されるはずです。

ここまでの設定で、特定のアカウントでは外観から「ウィジェット」「メニュー」のみしか編集できなくなるというわけです。もちろんこの他にも「プラグイン」や「ツール」「お問い合わせ」などを非表示にすることもできるので、特定のアカウントで編集できる部分を自由に制限できます。

まとめ

サイトの管理画面を第三者に操作してもらう際は、細かい注意が必要になります。実際にビジネスでフル活用しているサイトのお問い合わせ内容や、ユーザー情報などが外部に漏れると大問題ですからね。こういったセキュリティに関わる問題以外でも、第三者に操作されたくない箇所を編集されては、余計な修正が必要になります。管理画面内で必要な箇所のみを表示しておけば、第三者も迷わず操作できるはずです。

ご自身のサイトの管理画面を誰かに編集してもらう際は、ぜひこの2つのプラグインを組み合わせてオリジナルの管理画面をつくってみましょう。セキュリティ面だけでなく、操作性においてもスマートな対応が可能になるはずです。