这有什么用map_meta_cap
滤器该过滤器未在任何地方记录。我不清楚这可能是什么:
用于将用户的权限映射到帖子上的操作。
这到底是什么意思?如果可能,请给出一些正确用法的示例代码示例。
此筛选器允许您扩展the map_meta_cap()
function. 这个函数is called by WP_User->has_cap()
将元功能转换为一个或多个基本功能。
例如,您想知道是否应允许当前用户编辑当前帖子,the edit_post
meta capability. 这取决于一些因素:用户是帖子的作者吗?这篇文章已经发表了吗?该职位是否标记为私人?基本功能包括edit_posts
, edit_published_posts
, edit_others_posts
和edit_private_posts
: 您可以将这些分配给user roles. map_meta_cap()
检查帖子的作者和状态,并返回正确的基本功能集。此用户必须允许编辑帖子(如果帖子是由其他人撰写并发布的,则会返回array(\'edit_others_posts\', \'edit_published_posts\')
, 因此,用户必须同时具备这两种能力才能继续)。
添加这种元功能和基本功能的想法可以让您保持基础WP_User
课堂上没有帖子和帖子状态等知识,只关注能力。实际转换在外部函数中,map_meta_cap()
.
The filter map_meta_cap
允许您扩展功能,例如在使用自定义帖子时。我相信,如果您设置capabilities
争论register_post_type
, 但是Justin Tadlock 和Prospress plugin 提供完整的示例。但是,如果您愿意,您可以对其进行定制,以完全翻转功能系统。
此过滤器可用于映射自定义帖子类型的元功能。本文中有一个很好的代码示例:
http://justintadlock.com/archives/2010/07/10/meta-capabilities-for-custom-post-types
这是函数的过滤器map_meta_cap()
. 从描述来看,此函数似乎写出了传递到更具体的(如果是post的作者,则为can\\u do\\u this\\u stuff和can\\u do\\u that\\u stuff)中的一般功能(“can\\u do\\u stuff”),并在需要时检查各种条件。
不幸的是,它没有在Codex中记录,我在WP 3.0.1源代码中找不到该函数的一个直接调用。
您是否遇到过使用此函数的情况,或者想将其用于其他用途?我认为,由于它似乎没有被使用,可能有更新和更好的方法来实现此功能。