我准备在我的WordPress网站中添加" like blog posts "功能。
这个想法是在每篇博客文章上放一个按钮,这样用户就可以"喜欢"它。我计划建立一个自定义页面,它将显示当前登录用户的"喜欢"帖子列表。我的问题:这个功能需要一个新的数据库表吗?或者我应该同时使用用户和post meta来实现这一点?回答时请记住可扩展性。我需要确保该功能可以处理1000个用户和帖子。
如果您使用一个额外的表,它将很难得到喜欢计数,但在另一方面,它将更容易设置喜欢它的人。我仍然建议使用一个额外的表
使用ZillaLikes你需要的一切都已经在一个插件中了:)
如果你想自己做…如果您想将这些喜欢与用户或ip关联起来,我会使用一个额外的表。如果你只是想要一个数字,那么我会把它作为元数据的帖子,每次+1。
我将有另一个表:
likes
post_id user_id
5 2873
19 238
223 98
5 15
post_id是like表和用户ID的外键。这样你就可以跟踪用户喜欢哪些帖子,用户可以喜欢多个帖子。
您可以使用一个漂亮的查询来返回每个帖子有多少个赞
SELECT user_id,COUNT(*) as count FROM likes GROUP BY post_id ORDER BY count DESC;
返回如下内容:
post_id count
5 2
19 1
223 1
我想,不要引用我的sql!但这就是总体思路!
编辑:只要重读你的问题,你可以很容易地使用GROUP BY user_id来获得一个用户喜欢的帖子列表!
;)玩得开心。