喜欢'这类功能需要一个自定义的数据库表吗?


Ability to 'like' blog posts in WordPress: Does this sort of feature need a custom database table?

我准备在我的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来获得一个用户喜欢的帖子列表!

;)玩得开心。