php - 是否可以让 wordpress 用户知道他们已经阅读了哪些帖子?

标签 php mysql database wordpress

有没有现成的插件可以做到这一点?如果没有,理论上我可以创建一个跟踪此类信息的 mysql 数据库吗?

例如,假设我有一个以用户名作为主键的 post_views 表,每次有用户来访时,我都会检查该表中是否存在具有帖子 ID 的列的值。

如果是,则执行某些操作...如果不是,则创建该列并分配一个值 1 或其他值。

这样的事情可行吗?对不起,我是一个 mysql 菜鸟。

谢谢!

最佳答案

嗯,这是可行的,是的。

你可以:

  1. 像每个人一样使用 WP:在他们庞大的存储库中搜索一个插件并安装它。很可能有些东西完全符合您的需要;
  2. 对于登录用户:创建一个关系表,比如 users_posts

         id | user_id | post_id
    

    在每个帖 subview 中,将用户 ID 和帖子 ID 插入此表(如果您愿意,可以添加其他信息,例如阅读帖子的日期)。对该表的查询将告诉您用户打开的所有页面,或者相反,您可以检查该用户是否看过某个页面。从你所说的来看,这是一个比你想象的更可行的表模式;

  3. 对于未登录的用户:如果您没有用户 ID,您可以使用 cookie:在 cookie 中写入用户信息(IP、UserAgent 等)和帖子 ID;只要 cookie 没有被清除(或过期),您仍然会知道用户看到或没有看到什么。为了增加甜头:一旦用户登录,您就可以将这个基于 cookie 的信息转换为第 2 点中的方法)。

    好吧,再想一想,cookie 不是必需的,您也可以在这里使用数据库,但是该表不会存储用户 ID,而是存储其他信息(您可以使用带有添加列的相同表,或者专门用于未登录的用户。我会选择后者)

    但请记住,IP、用户代理和此类其他信息不可靠,并且可能导致问题 - 第一个可以由不同的用户共享,第二个很容易被欺骗。最好的做法是忽略这一点 3),并始终仅跟踪登录用户,这样您就不会遇到问题。

关于php - 是否可以让 wordpress 用户知道他们已经阅读了哪些帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406618/

相关文章:

javascript - jQuery - ajax 返回未知数字

php - 服务器不从 rss xml feed 导入图片

php - 如何自定义 wp_nav_menu() 堡垒图标

php - 密码保护 PHP 页面,为下一页设置用户并仍然检查密码

php - Guzzle 将正文编码为 Json,但我想要表单数据

mysql - sql - @curRow 基于列

python - 错误消息 : End of script output before header while using MYSQL

mysql - 计算字符串中唯一字符的数量

php - 将 MySQL 结构导入实时 SQL 数据库

mysql - MySQL 数据库的结构