Wordpressのバックエンドメニューにカスタムページを追加すると
add_menu_page('My Custom Page', 'My Custom page', 'editor', 'custom_page','add_custom_page','dashicons-admin-comments',8);
編集権限を持つユーザーだけがメニューにそのページを表示できます。このメニュー項目を管理者権限を持つユーザーも利用できるようにするにはどうすればよいですか?すべてのユーザーロールに add_menu_page() を別々に使用する必要がありますか?
Codexページでadd_menu_page
...を見てみましょう。
3番目のパラメータは次のとおりです。
$ capability (文字列)(必須)このメニューをユーザーに表示するために必要な機能。
あとで、Notesのセクションでも。
この関数は、ページがメニューに含まれているかどうかを判断するために使用される「機能」(役割と機能を参照)を取ります。ページの出力を処理するためにフックされている関数は、ユーザーが必要な「機能」も持っていることを確認する必要があります。
お分かりのように、あなたはそのパラメーターとしてユーザーロール(editor
、subscriber
)ではなく、機能(例えばmanage_options
、publish_posts
)を使用すべきです。
そのため、3番目のパラメータとしてpublish_pages
を渡すと、そのページにアクセスできるのはEditor、Administrator、およびSuper Adminだけになります。