我正在为一个内联网建立一个网站,显示有关人员的数据(完全合法!!)。我们会称这些人为校友。
结构是这样的:有三个角色,管理员、校友、观察者。
校友们自己注册并输入他们的数据。在注册期间,他们选择哪些数据是“私有的”,哪些是“公共的”。校友必须在注册后被管理员接受。
观察者可以看到校友的公开数据。
校友是其他校友的观察者。
管理员还可以查看校友的私人数据、修改此数据、注册后接受校友、删除校友。
如果校友可以在管理员确认的情况下取消自己的活动,那就太好了,但这并不紧急。
所以,我的想法是,校友应该是一个CPT,通过作者关系或元数据与注册的校友相连。这些帖子只有在登录后才会显示在前端。观察者和校友应该不能登录到后端。正如我之前所说,在校友CPT中,所有登录用户都可以看到公共数据,只有所有者校友和管理员才能看到私有数据。
我知道这有点棘手,我不需要你提供代码。但由于我还不是wordpress方面的专家,我想听听你对如何结构化网站以及我应该使用哪些API或插件来实现我的目标的一些建议。
非常感谢!!
SO网友:Adam Rice
这听起来有点像我最近做的一个项目。您应该查看角色范围器插件:它将是实现此功能的重要拼图。这是一个令人困惑的插件,但这是一条路要走。
“观察者”听起来与默认角色“订阅者”相同,因此您可以坚持使用它。校友可以是基于具有以下提升权限的订阅者的自定义角色:
您可以在自定义分类法中创建两个自定义帖子类型,或两个类别,或两个术语,不管是什么:Public还是Private。校友可以向其中任何一个发帖,也可以阅读其中任何一个。订阅者(或观察者,如果愿意的话)可以只读Public。
如果您想设置自定义分类法或post类型,您可以手动完成,并且这些方法都有很好的文档记录,但是有一些插件可以使其更简单。我使用了类型插件。