WordPress教程

WordPress网站怎么制作用户浏览历史记录功能

阿里云

很多网站都有这样的功能,可以显示自己在这个网站上浏览了哪些页面,这就是用户浏览记录。如下图:

那么怎么制作这样的用户浏览记录列表功能呢?下面就来分享一下 WordPress 网站怎么制作用户浏览记录功能。

首先让我们了解一下它的原理:用户在网站上浏览的页面信息,都会保存到 COOKIE 里,我们要显示浏览记录,只需要通过代码把缓存里的信息取出来就可以了。这与制作网站添加历史浏览记录文章列表功能类似。

也想出现在这里?联系我们
创客主机

具体代码如下:

第一步:将以下的函数放到自己的模板 functions.php 里;

  1. //浏览记录
  2. add_action('wp','HistoryReadCookieInit',10);
  3. function HistoryReadCookieInit(){
  4. if(is_single()){
  5. global $post;
  6. if(isset($_COOKIE['history-read-posts']) && !empty($_COOKIE['history-read-posts']))$history_read_posts = trim($_COOKIE['history-read-posts']);
  7. else $history_read_posts = '';
  8. $post_id = $post->ID;
  9. if(strpos($history_read_posts,$post_id.',') === 0){
  10. $history_read_posts = str_replace($post_id.',','',$history_read_posts);
  11. }elseif(strpos($history_read_posts,$post_id.',') > 0){
  12. $history_read_posts = str_replace(','.$post_id.',',',',$history_read_posts);
  13. }
  14. $history_read_posts = $post_id.','.$history_read_posts;
  15. setcookie('history-read-posts',$history_read_posts,time()+315360000,COOKIEPATH,COOKIE_DOMAIN,false);
  16. }
  17. }

第二步:使用以下的循环代码来显示用户浏览历史记录列表;

  1. <?php
  2. $history_read_posts = trim($_COOKIE['history-read-posts']);
  3. $history_read_posts = array_unique(explode(',',$history_read_posts),SORT_REGULAR);
  4. foreach($history_read_posts as $key => $p){
  5. <li><a href="<?php echo get_permalink($p); ?>" target="_blank" rel="nofollow"><?php echo get_post($p)->post_title; ?></a></li>
  6. }?>

将上面的代码放到显示用户浏览记录的位置即可,通过上面的代码就可以取出 COOKIE 记录,然后显示出来。

WordPress 网站怎么制作用户浏览历史记录功能

已有 228 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!