欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

WordPress

當(dāng)前位置:主頁 > CMS教程 > WordPress >

wordpress實(shí)現(xiàn)用戶歷史閱讀記錄功能分享

來源:本站原創(chuàng)|時(shí)間:2020-01-11|欄目:WordPress|點(diǎn)擊: 次

COOKIE記錄
SESSION記錄
數(shù)據(jù)庫記錄
緩存文件記錄
從技術(shù)難度上,第1、2種方法最簡(jiǎn)單,因此,下文將實(shí)現(xiàn)以COOKIE為記錄方法的實(shí)現(xiàn)代碼。其中第1、2、4種方法思路基本相同,即通過在用戶訪問某個(gè)頁面時(shí),通過對(duì)某個(gè)特定名稱的COOKIE或SESSION或緩存文件中增加值,把當(dāng)前URL或唯一標(biāo)識(shí)碼記錄其中,而在使用時(shí),只需要調(diào)用該名稱的COOKIE或SESSION或緩存文件中的值,并把對(duì)應(yīng)的項(xiàng)目鏈接列出即可。

而數(shù)據(jù)庫記錄方法一般需要用戶先注冊(cè),注冊(cè)之后記錄過程同上,在訪問頁面時(shí),將這個(gè)URL或頁面對(duì)應(yīng)的唯一標(biāo)識(shí)碼存入用戶ID對(duì)應(yīng)的某個(gè)數(shù)據(jù)庫字段或表中,在使用時(shí),通過數(shù)據(jù)庫查詢把這些值調(diào)用出來即可。這種方法不同于前一種,存入數(shù)據(jù)庫的記錄是永久不會(huì)丟失的,不會(huì)由于COOKIE或緩存過期而丟失,也可以實(shí)現(xiàn)跨終端,即在不同的電腦上也可以調(diào)用。

在wordpress中,我們通過一些鉤子來實(shí)現(xiàn)訪問文章時(shí)把該文章的ID記錄下來。


復(fù)制代碼
代碼如下:

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

在記錄的時(shí)候,我們需要對(duì)已經(jīng)被記錄的文章ID做一個(gè)簡(jiǎn)單的運(yùn)算,保證COOKIE中只有一個(gè)ID,不重復(fù)。并按照我們?cè)L問的時(shí)間來對(duì)這些文章ID排序(最后訪問的排在最前)。

在使用的時(shí)候,我們使用下面的代碼,直接調(diào)用這些被記錄的ID即可。


復(fù)制代碼
代碼如下:

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中讓W(xué)idget 標(biāo)題支持簡(jiǎn)單的HTML標(biāo)簽

欄    目:WordPress

下一篇:wordpress評(píng)論者鏈接在新窗口中打開的方法

本文標(biāo)題:wordpress實(shí)現(xiàn)用戶歷史閱讀記錄功能分享

本文地址:http://mengdiqiu.com.cn/a1/WordPress/12791.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有