我的情况是,我需要在网站上将用户标记为“讲师”。该角色基本上应该是用户当前角色的任何角色,并增加了查看学生对称为“问题”的自定义帖子类型的评论的功能。
我正在努力从概念上实现这一点。我应该仅仅添加一个新功能并自行分配,还是应该添加它并将其分配给一个新角色?
[编辑]从kaiser的资源来看,我似乎应该添加自定义功能,并根据个人情况将其分配给用户,可能是从我自己插件的选项/设置管理页面,而不是创建特定的角色[/edit]
如果我将用户的角色更改为其他角色(例如从管理员更改为编辑器),但仍然希望他们具有该功能,会发生什么情况?这是一件很容易在自定义插件中编程的事情(我就是从这个插件来完成所有这些的),还是这将是一项巨大的任务?
以下是我的主要问题;
将用户角色从一个切换到另一个时的基本逻辑是什么?
切换用户角色时,分配的自定义功能是否会保留,或者新的角色分配是否会覆盖其他内容?
最合适的回答,由SO网友:kaiser 整理而成
WordPress功能系统大致如下:
功能可以附加到用户或角色。角色可以附加到用户。角色是一个扁平的系统,因此没有什么可以推翻其他功能。角色名称也是功能。请记住,角色名称也是功能,但您不应该对其进行检查。不推荐的也一样level-0
直到level-9
大写字母。
理论上,WordPress支持每个用户有多个角色,这非常方便,因为您可以添加和删除角色名称下汇总的功能包。它只是没有UI,也不是内置的。哦,而且(好吧)没有提供这种功能的插件。
因此:yes 为用户分配功能是正常的。但请记住,这可能会很快导致维护噩梦。在大多数情况下,最好(不是完美的)只是抓住一个角色,将其功能复制到您的新角色,然后将新角色添加到用户。然后,当您想要更改某些内容时,只需将需要一组新CAP的所有用户的角色替换为。
注:这是我的意见。当谈到什么是噩梦和什么不是噩梦时,其他人可能会有不同的看法:)