我是WordPress插件开发的新手,我坚持为什么wordpress函数add_options_page()
不接受角色。
这是我的代码无效
add_action('admin_menu', 'ct_admin_settings_page');
function ct_admin_settings_page()
{
add_options_page(
'CT Settings',
'CT Settings',
'Administrator',
'ct_admin_settings',
'ct_admin_settings_page'
);
}
但如果我尝试以下操作,则会出现菜单(将管理员更改为 manage_options ),
add_action('admin_menu', 'ct_admin_settings_page');
function ct_admin_settings_page()
{
add_options_page(
'CT Settings',
'CT Settings',
'manage_options',
'ct_admin_settings',
'ct_admin_settings_page'
);
}
据我了解,函数add_options_page
中的第三个参数是ROLE,那么为什么不接受ROLE的管理员?
答案 0 :(得分:2)
实际上add_options_page()
函数的第三个参数是capability
,它与role
不同。
另一种思考方式是," 角色可以 一些功能是可行的'通过几个角色。"
从文档中查看功能签名,我们可以看到他们已将参数名称定义为capability
。
<?php
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);
?>
我会看一下this chart of Roles & Capabilities,然后选择一个只有管理员才能拥有的功能(最好是一个密切相关的到你的功能3;重建你的插件)。
例如,我可以选择manage_options
(就像您已经完成的那样),因为它会非常仔细地反映您尝试构建ct_admin_settings_page
的内容。