在Wordpress插件中心搜寻了好几个小时后,我找不到任何东西来完成我正在寻找的工作,因此需要自己计划如何编写此插件/向专业开发人员提供完整的简介。
我们运行一个网站,向我们的用户显示他们可以完成的“任务”列表。我们编写了如何完成每项任务的说明,以便用户能够遵循并取得进展。任务被写为“帖子”,我们有一个页面,基本上是一个目录,列出了每个任务的链接和基本描述/信息。每个用户都可以完成每个任务(即,如果用户A完成任务1,那么用户B也可以完成任务1)。
我们希望为每个任务添加“单击完成”按钮的功能。当用户单击按钮时,任务被标记为已完成(对于当前用户),与该任务相关的表行从表中隐藏,可能显示在另一个“已完成任务”表中。
我想要一些关于最好的方法的建议。到目前为止,我的想法是在数据库中创建一个新表,该表的字段为(id、user\\u id、post\\u id、completion\\u status,其中>0=未开始,1=正在进行,2=完成),如果在表中找不到user\\u id/post\\u id,则默认状态为0。
我的想法是,然后我可以编写一个查询,为每个用户返回所有“未启动”或“正在进行”的任务,并将结果输出到表中。然后使用另一个表来显示已完成的任务。
我只是想从在这一领域有更多经验的人那里知道,我是准备好了正确的计划,还是应该以不同的方式来着手?
提前谢谢。
最合适的回答,由SO网友:totels 整理而成
我不能完全肯定这是回答这个问题的正确地方,但我不能说我知道有更好的地方
你的粗略建议是构建上述系统的有效方法,但我认为你正在失去将WordPress与上述方法结合使用的所有优势。通过创建一个新表,您必须围绕它构建所有的“附加”。所有用于查找所需数据或访问所需关系的特殊方法。Wordpress已经有了一个用于此类型数据的表,称为usermeta
(通常前缀为wp_usermeta
, 或在代码中$wpdb->usermeta
).
它的结构可以对任何类型的内容开放WP_Query
具有特殊过滤器(meta_query
) 用于处理数据排序,WP\\U用户有方法(get_user_meta()
) 无需编写任何SQL即可访问DB数据。