wordpress完成用户历史浏览记载性能分享

COOKIE记载
SESSION记载
数据库记载
缓存文件记载
从技术难度上,第1、2种办法最简略,因而,下文将完成以COOKIE为记载办法的完成代码。其中第1、2、4种办法思绪根本相反,即经过在用户拜访某个页面时,经过对某个特定称号的COOKIE或SESSION或缓存文件中添加值,把以后URL或惟一标识码记载其中,而在应用时,只要要调用该称号的COOKIE或SESSION或缓存文件中的值,并把对应的名目链接列出即可。

而数据库记载办法普通需求用户先注册,注册之后记载进程同上,在拜访页面时,将这个URL或页面对应的惟一标识码存入用户ID对应的某个数据库字段或表中,在应用时,经过数据库查问把这些值调用进去即可。这种办法不同于前一种,存入数据库的记载是永世不会失落的,不会因为COOKIE或缓存过时而失落,也能够完成跨终端,即在不同的电脑上也能够调用。

在wordpress中,咱们经过一些钩子来完成拜访文章时把该文章的ID记载上去。


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);
}
}

在记载的时分,咱们需求对曾经被记载的文章ID做一个简略的运算,保障COOKIE中只有一个ID,不反复。并依照咱们拜访的工夫来对这些文章ID排序(最初拜访的排在最前)。

在应用的时分,咱们应用上面的代码,间接调用这些被记载的ID即可。


if(!isset($_COOKIE['history-read-posts']) || empty($_COOKIE['history-read-posts']))return;
$history_read_posts = trim($_COOKIE['history-read-posts']);
$history_read_posts = array_unique(array_filter(explode(',',$history_read_posts,$count)));
foreach($history_read_posts as $key => $p){
$get_post = get_post($p);
echo '<li><a href="'.get_permalink($p).'" title="'.get_the_title($p).'" target="_blank">'.get_the_title($p).'</a></li>';
}

这种办法最间接无效,而且了解起来十分容易。

以上就是安达网络工作室关于《wordpress实现用户历史阅读记录功能分享》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: 历史阅读记录 WordPress
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
保障WordPress平安的完成办法

小洞不补大洞享乐。关于bloggers来说这是永恒的真谛,仅仅花一点工夫在马上就晋级上省下了很多之后修复一些...

遗记wordpress的登录明码的处理办法(比拟简略)

起初在一站长的博客中看到了一个很简约的处理办法(当然不是重装啦,尽管也能够),就是把上面的代码写进一...

详解WordPress开发中用于获取分类及子页面的函数用法

get_category get_category 可能咱们平常接触的不多,但却是很有用,网上这个函数引见的貌似不多,所以明天...

给WordPress中的留言加上楼层号的PHP代码实例

最近忽然发现博客的评论楼层有点成绩,之前不断设置的是“在每个页面顶部显示新的评论”,也就是所谓的倒序...

修正WordPress链接程序和排序的办法

WP的性能弱小在于有支持并完满兼容的插件。自身WP链接治理不好自在排序,CoCo Link Sort 这款插件补偿了这样...

如何将WordPress博客订阅到QQ邮箱详细该怎样操作

1、登录QQ邮箱,点击右下角&ldquo;浏览空间&rdquo;,进入浏览空间。 2、进入浏览空间后,点击页面右上角&ld...

需求提交

客服服务