角色和元功能之间有什么区别;何时使用map_meta_Cap()筛选器

时间:2014-07-24 作者:dashaluna

我对以下事情感到非常困惑:

角色和元功能之间的差异,元功能和原始功能之间的差异,何时使用map_meta_cap() 过滤器在很多情况下,我会将WP现有或自定义功能添加到WP现有或自定义角色中,希望它能开箱即用,但大多数情况下不会。

我看到人们提到map_meta_cap() 过滤器,但我找不到一个很好的解释,它实际上是做什么的,什么时候我必须使用它,什么时候功能可以开箱即用。

我希望这是有意义的。

我非常感谢能够很好地解释这一点的解释或资源链接。

谢谢,Dasha

1 个回复
SO网友:Pmpr

角色和元能力之间的差异

最好问一下比较Role 具有Capabilities, 不仅仅是Meta capabilities, 但简单的回答是:

A.Role 定义分配角色的用户允许执行的一组任务。

Capabilities 分配给Roles

元功能和基本功能之间的区别?

Meta capabilities

edit_post, read_post, 和delete_post 据说是Meta Capabilities 因为它们取决于上下文,例如正在编辑/阅读/删除的帖子。如果你说有些用户edit_post 能力,因为有人会问你:she/he can edit which post?

Primitive capabilities

这些功能包括edit_posts 它不依赖于任何上下文,并且是用户固有的。如果有人edit_posts 有能力,她/他可以编辑帖子。

何时使用map\\u meta\\u cap()过滤器?

当您注册新post type 使用register_post_type, 您可以选择用于capability_type 也就是说,这些功能类似于什么?你可以这么说post, 意味着您的能力与post 岗位类型。

如果你需要更多的定制,你可以说bookarray( \'book\', \'books\' ) (相同),例如,具有以下功能:

capabilities\' => array(
  \'edit_post\'          => \'edit_book\', 
  \'read_post\'          => \'read_book\', 
  \'delete_post\'        => \'delete_book\', 
  \'edit_posts\'         => \'edit_books\', 
  \'edit_others_posts\'  => \'edit_others_books\', 
  \'publish_posts\'      => \'publish_books\',       
  \'read_private_posts\' => \'read_private_books\', 
  \'create_posts\'       => \'edit_books\', 
)
使用时capability_type 作为一个数组,例如数组(“故事”、“故事”),第一个元素将用于单数功能,第二个数组元素用于复数功能。

这个map_meta_cap() 函数由调用WP_User->has_cap() 将元功能转换为一个或多个基本功能。

还有一个map_meta_cap 中的参数register_post_type, 在post\\u类型注册时,也会执行相同的操作。

结束

相关推荐

PHP致命错误:无法为wp-includes/capabilities.php中的非对象调用重载函数

我在apache日志中遇到了太多以下错误。PHP Fatal error: Cannot call overloaded function for non-object in wp-includes/capabilities.php on line 1187这是函数current\\u user\\u can($capability)的内部,第1187行如下所示:$current_user = wp_get_current_user(); 我不知道问题出在哪里?