「CPT UI」と「User Role Editor」でやっていく方法。
はじめに
最低限はできたんだけど、できてない部分がある。調べてもできてない部分を無視した記事がゴロゴロしてたんで、そういうものなのかもしれない。だけど、痒い所が残ったことには間違いない。
どういうことか
wpでWEBサイトを構築した。カスタム投稿を複数設置して色んなコンテンツを作った。記事を投稿するにあたり、アカウントを用意することになった。用意するアカウントは特定のカスタム投稿だけを操作できるようにしたい。他のところをいじって台無しにするリスクを回避したい。そんな感じ。
環境
「CPT UI」でカスタム投稿を作成。
「User Role Editor」で特定機能に制限したアカウントを作成。
やっていく
ぶっちゃけ他所の記事を読んだほうが早い。
設定時のポイント
標準では投稿とカスタム投稿は同じものとして扱われるので、カスタム投稿を切り分ける必要がある。そのためにはCPT UIの投稿設定をいじる必要がある。ということで、上記2つ目の記事にある通り、「権限タイプ」を変更する。
ここが「post」だと投稿と同じ扱いになる、ということ。「権限タイプ」を変更することで影響するのはアカウント周りだけなので、テーマの修正は不要。
アカウント周りの影響について、権限タイプを新設すると新しい設定項目が作成される。例えば、権限タイプ「blog」を作ると「○○_blogs」みたいな感じで色々増える。
切り分けた時点で管理者以外は操作ができない
「○○_blogs」だけにチェックを入れることで機能制限されたアカウントを作れるんだけど、カスタム投稿を切り分けると各権限のチェックが外れた状態になるので、各権限にチェックを入れる必要がある。チェックを入れないと今まで投稿できていたのに投稿できない、メニューからも項目が消えてどうなってんのってことになる。非常にめんどい。管理者権限は例外。
タクソノミーが使えない
最初に触れた痒いところ。
権限として、タクソノミーはカスタム投稿に紐付いてない。紐付いていないので、タームを新たに作ることも、カスタム投稿にタームを設定することもできない。調べてみたら「投稿」にある「manage_categories」に紐付いていることがわかった。ここにチェックを入れるとタームを設定できるようになる。
だけど、チェック元が「投稿」なのでメニューに「投稿」とサブメニュー「カテゴリー」「タグ」が表示される。操作もできる。非常に厄介。カスタム投稿みたいにタクソノミーも切り分けられたら良いのに。ここが詰んだポイント。
一部のプラグインが使えない
投稿周りに関係するプラグインが使えない場合がある。要するにUser Role Editorでチェックを入れた項目だけが使用できるってことになるんで、個別のチェック項目がないものは使用できない。使おうとすると他のものも表示しちゃって不都合になる。あけっぴろげにしてしまうか使えなくなるかという極端な二択になる。チェック項目は無いけど普通に使えるものもある。
なんとも中途半端な感じで、例えば「LIQUID SPEECH BALLOON」というものがある。
LIGとかでよく見る吹き出しのフォーマット。
これは設定画面で吹き出しの画像とか名称を用意して、投稿画面で呼び出して使用するもの。機能制限をすると吹き出しの作成・変更はできないけど投稿画面で使用することはできるという挙動になる。
そんな感じで、作り込めば作り込むほど「これはできるけどこれはできない」が出てきて非常にめんどいことになる。
個別の設定ができてしまう
権限を作成して機能を設定する、っていうのがセオリーなんだけど、このプラグインはアカウント別に機能を指定することができる。所属する権限グループの有効化された項目は固定で、それ以外の項目にチェックを入れることができる。便利といえば便利だけど、単純に設定箇所が2つあるのでちゃんと管理しないと面倒なことが起きる可能性があるので注意。
まとめ
満足のいく機能とはいい難いんだけど、プラグインの仕様というかWP本体の仕様って感じがして仕方ない気持ちがある。うまいこと折り合いをつけて構築しなきゃいけないんで、もし提案する・導入することになるなら、こんな感じのことができますよ、やってみないとわかんない部分がありますよ、みたいな感じで、決め打ちせずにすり合わせをした方がいい。
画像の添付を許可(追記:20220422)
うっかりしてた。上記内容だと画像が登録できない。
画像が使えるようにするためには「メディア」を開放する必要がある。そのためには「upload_files」にチェックを入れる。
コメント