WordPressの権限に応じて利用できるブロックを制限する

ブロックの利用自体を制限するプラグインとしては、Block Managerプラグインがあります。グループごとにブロックの利用を制限できるなど、使いやす印象です。しかし、ユーザー権限ごとには設定できません。

ユーザー権限毎にブロックを制限できるプラグインとしては、Gutenberg Blocks – PublishPress Blocks Gutenberg Editor Pluginがあります。こちらだと権限毎にブロックを制限できます。ただ、基本はすべてのブロックがあるところから、利用しないブロックをチェックしていく必要があり、たくさんチェックする必要があります。

そこで、コードとして、権限毎に利用するブロックを指定する想定のコードを書いてみました。

一旦、現在のユーザーの権限を調べ、その権限に応じて利用できるブロックのみを記述します。コメントアウトしているのは2023-12-05時点 WordPress6.4でのブロックごとの名前です。この中から使うものだけを設定すれば、そのブロック以外は利用できない状態になります。

https://gist.github.com/megane9988/4404835c86d2f265d294f58bb480468d