最近在开发一套在线视频播放的 WordPress 主题的时候,需要统计已登录用户观看某个视频的时长记录,然后储存到数据库中,在用户再次打开的时候,如果视频之前尚未观看完,就自动定位到上次观看的地方,如果已经看完,那就定位在视频的开头。针对这样一种情况,我们实现的思路如下;
1、使用 after_switch_theme 钩子,在用户启用主题的时候创建一个用户观看记录的数据表,表字段包括记录 id(自增)、用户 ID,文章 ID(所观看的视频文章 ID),观看时长,视频总长等等,您可以根据您主题的需要创建自己需要的数据表字段;
2、当登陆用户首次浏览视频页面的时候,使用 ajax 向用户观看记录数据表中添加一条用户观看记录,其中观看时长字段填为 0;
3、使用 js 判断,当视频暂停(video.paused)和浏览器窗口关闭或刷新的时候(window.onbeforeunload)使用 ajax 更新用户观看记录。
以上算是这个问题的一个基本思路,当然我们在做的时候还有一些细节的处理,这个根据每个主题的需要自己去做就可以了。希望以上思路对您在做 WordPress 在线视频播放的主题时有所帮助。