public function myplugin_role_has_cap($capabilities, $cap, $args) {
if(!isset($capabilities[\'myplugin_access\'])) {
unset($capabilities[\'myplugin_delete_item\']);
}
return $capabilities;
}add_filter(\'user_has_cap\', array($this, \'myplugin_role_has_cap\'), 0 , 3);
这里有一个更好的答案,与我的例子相对应。假设插件在激活时向一个角色添加了两个上限,之后由于某些原因,访问上限被撤销。然后,即使只有delete\\u item cap,用户也无法删除,因为没有授予访问权限。