我要试试看。我不会包含任何代码示例,只是我将采用的路径。
Users
我想象当你说“用户”时,你指的是用户的不同角色。“医生用户”只是一个具有“医生”角色的用户(参见此处:
http://codex.wordpress.org/Roles_and_Capabilities).
因此,我将从创建两个新角色开始:“医生”和“患者”。
Problem 1
在两个用户(医生和患者)之间创建关系的最简单方法是使用
usermeta
. 我会把病人的医生
user_id
在患者的
usermeta
. 你需要做一些定制的登记表来显示医生名单(
get_users( \'role=doctor\' )
) 然后在上为新用户保存usermeta
wp_insert_user
.
Problem 2
我不知道你的报告是什么,但如果医生只需要能够得到他们的病人名单,你需要做一个
$wpdb->get_col()
在
usermeta
表(当您将其存储在患者的usermeta中时,您不能使用get\\u usermeta API。
Problem 3
您可能会对报告使用自定义的post类型,并且您希望患者只能看到自己的报告。要做到这一点,我可能会节省一些
postmeta
关于患者报告
_patient_user_id
. 然后,当您想为用户显示报告时,可以执行以下操作
new WP_Query( \'post_type=report&meta_key=_patient_user_id&meta_value=\' . get_current_user_id() )
(或类似的东西)。
就我个人而言,我可能不会在这里使用任何插件—您可以使用角色管理器插件来创建角色,但以编程方式创建它们非常快。同样,你可以使用插件来创建你的自定义帖子类型——在我看来,用代码来完成这一切是非常容易和更好的。