ユーザーごとに画面に表示させるメニュー項目を制限したい時には
Adminimizeというプラグインを使ったけれど、(→過去記事)
同じプラグインで、ユーザーごとに編集できるウィジェットを細かく指定することもできる。
表示させるメニュー項目に制限をかける時は
Adminimizeの設定-Menu Optionsに進み、制限したい項目にチェックを入れたけれど、
編集できるウィジェットに制限をかける時は
Adminimizeの設定-Widgetsに進んで同様に制限したい項目にチェックを入れればいい。
(↓ Simplicity使用時の画面)
ただし、Adminimizeは
デフォルトのユーザー権限で許可されているものにアクセスさせないよう
制限をかけることはできるけれど、
デフォルトで許可されていない権限を付与することはできないので
この前に、まずは別の方法で
ウィジェットを編集する権限をもったユーザーを作らないといけない。
—–
functions.phpを編集して、
投稿者や編集者にウィジェット編集権限を与える方法もあるけれど
User Role Editorというプラグインを使ってやることにした。
User Role Editor を使えば、
投稿者、編集者などのユーザーに
もともとは許可されていない権限を付与することができるだけでなく
管理者、編集者、投稿者、寄稿者、購読者 以外に
オリジナルレベルのユーザーを作って権限を設定することができる。
既存のユーザーレベルを編集すると、もとの設定がわからなくなりそうなのと、
複数の投稿者や複数の編集者がいる場合でも個別に設定できるので、
オリジナルのユーザーレベルを設定することに。
①User Role Editor のインストール・有効化。
②ありがたいことに日本語パッチをアップしてくださっている方がおられた。
③管理画面 ユーザー ー User Role Editor で設定画面を開く。
④「各権限を概説で表示する」にチェックを入れると、
ほとんどが日本語で表示されるようになる。
プルダウンで、投稿者・編集者など編集したいユーザーレベルを選んで、
「テーマオプションの編集」にチェックを入れて更新すれば
ウィジェットの編集もできるようになる。
⑤今回は、既存のユーザーレベルでなく、オリジナルのユーザーレベルを作りたいので
右にある「権限グループの追加」をクリック。
権限グループ名、表示する権限名は自分のわかりやすいものを入力。
コピー元のドロップダウンリストから既存のユーザーレベルを選んで
それに足し引きして権限を設定してもいいし、
コピー元は「なし」にしておいて、1つ1つ最低限必要なものだけチェックを入れてもいい。
ウィジェットを編集できるよう「テーマオプションの編集」を含め、
オリジナルのユーザーレベルに与える権限にチェックを入れたら「更新」をクリック。
—–
ここまでで、ウィジェットを編集する権限をもったオリジナルレベルのユーザーができた。
ここでようやく、Adminimizeの設定に戻ると、
もともとあった 管理者、編集者、投稿者、寄稿者、購読者 以外に
User Role Editor で追加したオリジナルユーザーレベルの列が右側に追加されている。
「テーマオプションの編集」権限を付与したものの
特定のウィジェットの編集以外はできないようにしたいので
Adminimizeの設定-Menu Optionsで
外観グループのウィジェット以外の項目すべてにチェックを入れる。
Adminimizeの設定-Widgetsで
そのユーザーが編集していい種類のウィジェット以外のすべてにチェックを入れる。
今回は、「サイドバーウィジェット」「テキスト」だけチェックをはずして
お客様にも編集していただけるようにしてみた。
Simplicityを使っているので、
こちらでテキストを使いたい時には「クラッシックテキスト」を使うことにした。
(クラッシックテキストはビジュアルエディターを使わないテキストウィジェット)
お客様画面はとてもシンプルで、必要なことだけができるようになり、満足♪
※ちなみに、ウィジェットの位置(並び)を変更すると、
表示されていない他のウィジェットまで消えてしまうので要注意!
心配な場合は、うっかりドラッグで移動してしまう恐れがある位置では1か所のみアクセス可能にするなど気をつける。