无作为
不仅仅是一种态度!

wordpress显示用户浏览记录|调用访客最近浏览过的文章

很多网站或者商城都会有这么一个功能,就是显示访客的浏览记录,既有显示自己的浏览记录,又有显示其他访客的浏览记录。

这样一来可以很好的粘住用户,让他们找到更多更好的相关文章,提高用户黏性。

wordpress显示用户浏览记录

这里教程分两种,一种是访客显示自己的浏览记录,还有一种是显示所有访客的浏览记录。

这里先说说第一种方法,显示访客自己的浏览记录,分别有插件和代码的方法。

插件-wp-recent-views-master(汉化):  蓝奏云  百度网盘

下载之后直接安装,不要升级即可。

代码教程:

调用最近浏览过的文章,比较蛋疼的功能,原理是通过读取浏览器cookie文件,调用显示最近(360天)被访问过的10篇文章 ,需要注意的是,该功能不是统计所有浏览者最近查看过的文章,并没有写进数据库中,每个访客都有自己独有的浏览清单。

将下面代码添加到主题functions.php文件的最后:

<?php
/* 可选参数: */
$zg_cookie_expire = 360; // cookie过期时间,默认值是360天
$zg_number_of_posts = 10; // 显示篇数,默认值是10。
$zg_recognize_pages = true;
/* 此行后不要编辑 */
function zg_lwp_header() {
if (is_single()) {
zg_lw_setcookie();
} elseif (is_page()) {
global$zg_recognize_pages;
if ($zg_recognize_pages === true) {
zg_lw_setcookie();
}
}
}
function zg_lw_setcookie() {
global$wp_query;
$zg_post_ID = $wp_query->post->ID;
if (! isset($_COOKIE["WP-LastViewedPosts"])) {
$zg_cookiearray = array($zg_post_ID);
} else {
$zg_cookiearray = unserialize(preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", stripslashes($_COOKIE["WP-LastViewedPosts"])));
if (! is_array($zg_cookiearray)) {
$zg_cookiearray = array($zg_post_ID);
}
}
if (in_array($zg_post_ID, $zg_cookiearray)) {
$zg_key = array_search($zg_post_ID, $zg_cookiearray);
array_splice($zg_cookiearray, $zg_key, 1);
}
array_unshift($zg_cookiearray, $zg_post_ID);
global$zg_number_of_posts;
while (count($zg_cookiearray) > $zg_number_of_posts) {
array_pop($zg_cookiearray);
}
$zg_blog_url_array = parse_url(get_bloginfo('url'));
$zg_blog_url = $zg_blog_url_array['host'];
$zg_blog_url = str_replace('www.', '', $zg_blog_url);
$zg_blog_url_dot = '.';
$zg_blog_url_dot .= $zg_blog_url;
$zg_path_url = $zg_blog_url_array['path'];
$zg_path_url_slash = '/';
$zg_path_url .= $zg_path_url_slash;
global$zg_cookie_expire;
setcookie("WP-LastViewedPosts", serialize($zg_cookiearray), (time()+($zg_cookie_expire*86400)), $zg_path_url, $zg_blog_url_dot, 0);
}
function zg_recently_viewed() {
echo '<ul class="viewed_posts">';
if (isset($_COOKIE["WP-LastViewedPosts"])) {
$zg_post_IDs = unserialize(preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", stripslashes($_COOKIE["WP-LastViewedPosts"])));
foreach ($zg_post_IDsas$value) {
global$wpdb;
$zg_get_title = $wpdb->get_results("SELECT post_title FROM $wpdb->posts WHERE ID = '$value+0' LIMIT 1");
foreach($zg_get_titleas$zg_title_out) {
echo"<li><a href=\"". get_permalink($value+0) . "\" title=\"". $zg_title_out->post_title . "\">". $zg_title_out->post_title . "</a></li>\n";
}
}
} else {
}
echo '</ul>';
}
add_action('get_header','zg_lwp_header');
?>

调用方法,在侧边sidebar模版或者正文single模版适当位置加入下面代码:

<?php if (function_exists('zg_recently_viewed')): if (isset($_COOKIE["WP-LastViewedPosts"])) { ?>
<h2>Last viewed posts</h2>
<?php zg_recently_viewed(); ?>
<?php } endif; ?>

教程到此结束,至于第二种方法,无作为整理之后再发布。

历史上的今天:
赞(14) 打赏
所有免费资源、福利、电影、破解软件未经允许不得转载:www.wuzuowei.net无作为 » wordpress显示用户浏览记录|调用访客最近浏览过的文章

留下评论 2

  1. #1

    那么问题来了。我清除浏览器cookie,还能调用我的浏览记录吗?

    HHA8817个月前 (11-06)回复

无作为-不仅仅是一种态度

登录/注册广告合作

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏