AForms Eatsの最新版では、権限周りが刷新されました。また、それに伴い管理メニューの配置も変わっています。
PRO版のv1.3.0、FREE版のv1.2.0に対応しています。
背景
これまでのAForms Eatsは、基本的に権限を扱っていませんでした。
管理メニューは誰にでも表示され、ページを開いたり使ったりできるのは管理者だけでした。
「これではさすがに作りが雑だよね」ということで、きちんとした仕組みを作った次第です。
新しい仕組みでは、「フォームは作れるが注文は見られない」とか「自店舗の注文だけ見られる」というような、細やかな権限の設定ができるようになりました。
なお、新しい仕組みは、細かく設定しようと思えばできますが、初期状態のままにしておけばこれまでとだいたい同じような挙動になります。
管理メニューの配置だけ変わりますのでご注意ください(後述)。
新しい仕組みに移行する方法
実は、AForms Eats (FREE・PRO問わず)の最新版にアップグレードしても新しい仕組みには移行されません。移行するには明示的に有効化する必要があります。
手順は下記の通りです。気楽に、何回かOKをクリックするだけです。
Step1. 管理メニューの「フォーム設定」を開いてください。
Step2. フォーム設定画面の一番下に、新しい仕組みへの移行を促すメッセージがありますので、そのリンクをクリックしてください。クリックすると確認ダイアログが出てきますので、それもOKで進めてください。
Step3. これで移行は完了です。移行が完了したら、なんでもいいので別のページを一度開いてみてください。管理メニューの配置が変わっているはずです。
同じようなやり方で、元の仕組みに戻すこともできます。
ただ、将来的には新しい権限の仕組みに統一されていきますので、ぜひこの機会に新しい仕組みの方に移行してしまいましょう。
新しい権限の詳細
それでは、新しい仕組みを紹介していきます。この仕組みで使われる権限は次の通りです。
権限 | 説明 |
aformseats_read_forms |
自分のフォームを見る権限です。 |
aformseats_read_others_forms |
他人のフォームを見る権限です。 この権限は上記の aformseats_read_forms の上位権限ですので、この権限を持っている人はaformseats_read_forms 権限も持っているようにしてください。 |
aformseats_write_forms |
自分のフォームを更新する権限です。フォームの作成と削除もできます。 |
aformseats_write_others_forms |
他人のフォームを更新する権限です。 この権限は aformseats_write_forms の上位権限ですので、この権限を持っている人はaformseats_write_forms 権限も持っているようにしてください。 |
aformseats_read_orders |
自分の注文を見る権限です。 「自分の注文」というのは、自分のフォームから作られた注文、ということです。 この権限を持っているユーザーは注文一覧ページを開けます。 |
aformseats_read_others_orders |
他人の注文を見る権限です。 この権限は aformseats_read_orders の上位権限ですので、この権限を持っている人はaformseats_read_orders 権限も持っているようにしてください。 |
aformseats_write_orders |
自分の注文を更新する権限です。注文を削除できます。 |
aformseats_write_others_orders |
他人の注文を更新する権限です。 この権限は aformseats_write_orders の上位権限ですので、この権限を持っている人はaformseats_write_orders 権限も持っているようにしてください。 |
manage_options |
WordPressに最初からある権限で、WordPressの設定を管理できるものです。 AForms Eatsでは、フォーム設定とスタイル設定を行うには manage_options 権限が必要です。 |
初期状態では、管理者は上記すべての権限を持っています。ですので、使える機能はこれまでの仕組みとまったく同じです。
それとは逆に、他の権限グループ(エディターや寄稿者など)は上記のどの権限も持っていませんので、AForms Eatsのどの機能も使えないことになります。
管理メニューの配置
フォーム一覧、注文一覧など各ページにアクセスする権限が変わりましたので、管理メニューでの配置も変わりました。
新しい仕組みでは、下図のように配置されます。
「フォーム」は今まで通りです。
「注文」は、今までは「フォーム」の中にありましたが外に出ました。
「フォーム設定」と「スタイル」は「設定」の中に移動しました。
権限の細やかな設定
では、いよいよ新しい権限の仕組みのセットアップ方法を、ケースバイケースで説明していきます。
権限を設定するにはWordPressの別プラグインを使ってください。この記事ではUser Role Editorを使っていきます。
User Role Editorの使い方
User Role Editorは、権限グループ(「管理者」や「編集者」といった、ユーザーの役職)と権限(何をしていいか)を逐一設定していけるプラグインです。
このプラグインを有効化すると、管理メニューの「ユーザー」配下に「User Role Editor」というページが追加されます。
このページで「どの役職の人が何をしていいか」にチェックを入れていきます。
フォームの権限 設定例4パターン
- フォーム一覧にアクセスできないようにする場合
aformseats_~~_forms
、4つのチェックをすべて外します。 - 自分のフォームだけ管理できるようにする場合
ユーザーは自分のフォームだけ閲覧・更新できる形です。
この場合は、aformseats_read_forms
とaformseats_write_forms
にチェックを入れます。 - 上記に加えて、他ユーザーが作ったフォームを見られるようにする場合
他ユーザーが作ったフォームを複製できます。複製すると自分のフォームができます。
この場合は、aformseats_read_forms
、aformseats_read_others_forms
、aformseats_write_forms
の3つにチェックを入れます。 - すべてのフォームを管理できるようにする場合
aformseats_~~_forms
の4つすべてにチェックを入れます。
大抵の場合は、ユーザーの役職に応じて (1)全面的にアクセス不可 か (4)全面的にアクセス可 を割り当てれば十分でしょう。
店舗が複数あって、店舗にフォームの管理を委任する場合には(3)も有力です。
注文の権限 設定例6パターン
- 注文一覧にアクセスできないようにする場合
aformseats_~~_orders
、4つのチェックをすべて外します。 - 自分のフォーム由来の注文だけ見られるようにする場合(注文の削除は不可)
aformseats_read_orders
にチェックを入れます。 - 自分のフォーム由来の注文だけ見られるようにする場合(注文の削除も可)
aformseats_read_orders
とaformseats_write_orders
にチェックを入れます。 - すべての注文を見られるようにする場合(注文の削除は不可)
aformseats_read_orders
とaformseats_read_others_orders
にチェックを入れます。 - すべての注文を見られるようにする場合(自分の注文の削除も可)
aformseats_read_orders
、aformseats_read_others_orders
、aformseats_write_orders
の3つにチェックを入れます。 - すべての注文を見られ、削除もできるようにする場合
aformseats_~~_orders
、4つのチェックをすべて入れます。
大抵の場合は、ユーザーの役職に応じて (1)注文一覧を見られない 、 (4)すべての注文を見られる と (6)すべての注文を読み書きできる を割り当てれば十分でしょう。
店舗が複数あって、自店舗の注文だけ見られるようにしたい場合は(4)の代わりに(2)や(3)を使うのも良さそうです。