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

许都 71 1

很多网站都有这样的功能,可以显示自己在这个网站上浏览了哪些页面,这就是用户浏览记录。如下图:WordPress网站怎么制作用户浏览历史记录功能那么怎么制作这样的用户浏览记录列表功能呢?下面就来分享一下 WordPress 网站怎么制作用户浏览记录功能。

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

具体代码如下:

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

//浏览记录
add_action('wp','HistoryReadCookieInit',10);
function HistoryReadCookieInit(){
if(is_single()){
global $post;
if(isset($_COOKIE['history-read-posts']) && !empty($_COOKIE['history-read-posts']))$history_read_posts = trim($_COOKIE['history-read-posts']);
else $history_read_posts = '';
$post_id = $post->ID;
if(strpos($history_read_posts,$post_id.',') === 0){
$history_read_posts = str_replace($post_id.',','',$history_read_posts);
}elseif(strpos($history_read_posts,$post_id.',') > 0){
$history_read_posts = str_replace(','.$post_id.',',',',$history_read_posts);
}
$history_read_posts = $post_id.','.$history_read_posts;
setcookie('history-read-posts',$history_read_posts,time()+315360000,COOKIEPATH,COOKIE_DOMAIN,false);
}
}

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

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

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

发表评论 取消回复
表情 图片 链接 代码

  1. 1st.
    1st. Lv 1

    查看图片

    直接粘贴就这样了,的确会出错。但我还看不出来为什么,哈哈。

分享