如果我通过以下方式向wordpress后端菜单添加自定义页面
add_menu_page(\'My Custom Page\', \'My Custom page\', \'editor\', \'custom_page\',\'add_custom_page\',\'dashicons-admin-comments\',8);
只有具有编辑器权限的用户才能在其菜单中查看页面。如何使此菜单项也可供具有管理员权限的用户使用?我必须分别为每个用户角色使用添加菜单页面吗?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
让我们看看Codex page for add_menu_page
...
第三个参数是:
$capability (字符串)(必需)向用户显示此菜单所需的功能。
以及后面的注释部分:
此功能采用“功能”(请参阅角色和功能),用于确定菜单中是否包含页面。连接以处理页面输出的函数必须检查用户是否也具有所需的“能力”。
如您所见,您应该使用功能(例如manage_options
, publish_posts
) 而不是用户角色(editor
, subscriber
) 作为那个参数。
所以如果你能通过publish_pages
作为第三个参数,只有Editor、Administrator和Super Admin可以访问该页面。
在这里您可以找到default capabilities for default user roles.