自定义帖子类型的基于时间的访问控制-什么是好的方法?

时间:2019-12-09 作者:Brian

我有一个教课程的网站。我想每个季度都开课。所以我会

Course 1 - Fall 2019
Course 1 - Winter 2019
Course 1 - Spring 2020
Course 1 - Summer 2020
课程内容作为一个帖子集合存在(每个内容类型都是自定义帖子类型-所以course, lesson, topic). 比如说

Course 1
   Lesson 1
      Topic 1
      Topic 2
   Lesson 2
etc
因此,我需要一种方法,在学生选择的四分之一时间内让他们注册一门课程。此外,每个课程及其季度都有单独的论坛(公告、课堂讨论、作业),我需要根据小组控制论坛访问。

如何处理?我想最好的方法是

创建课程后,创建与季度和论坛相对应的4个组。将有表格

groups

group_id    course_id    start_date
我使用的是BBPress,所以我会将一个论坛与一个组关联起来,比如

group_forums
group_id      forum_id

在课程注册页面上显示可用的季度。一次显示4个。定期运行cron作业,查看是否出现了新的季度,并在需要时添加新组。这样,游客总是可以看到接下来的四个季度。

当用户在所选季度注册时,将其添加到组中。所以会有桌子

user_groups

id     user_id     group_id
就路线而言,

当用户转到课程页面时courses.com/course1 检查他们的组并根据组确定访问权限courses.com/fall2019/course1.

这里有一个主要的通配符——课程的第一课总是免费的。这意味着对于访客来说,当他们在courses.com/lesson1 他们看到了Course1->Lesson1 内容,以及与当前季度对应的课程论坛的论坛链接。

总之,在我解决所有这些问题之前,想知道你有什么建议。

谢谢

布莱恩

1 个回复
SO网友:John Dee

这个问题指出了业务涉众在尝试获取软件时遇到的一个普遍问题。你脑子里有想法,但你不知道如何将想法转化为可操作的规范。

我建议您尝试行为驱动开发。首先弄清楚你想要什么,然后用“应该”语句详细说明系统。i、 e。

"The students should be able to access the course on Monday."
这些“应该”语句可以交给专业开发人员,将其转换为实际工作软件包的原型。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register