亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > CMS建站 > 正文

WordPress中對訪客評論功能的一些優化方法

2020-03-22 19:56:04
字體:
來源:轉載
供稿:網友
前幾天見到某 Blog (忘記名字和網址了) 有一個相當實用的評論功能. 訪客留言之后資料輸入框會被隱藏起來, 如同登錄了一般. 訪客可以選擇修改相關資料再進行評論. 給予訪客很好的用戶體驗. 今天我將這個功能移植到了自己的主題上, 制作不難, 分享一下吧.
需求細心的朋友可能已經注意到了: 當在某個 WordPress 發表評論后再次訪問該 Blog, 資料就不需要再次填寫, 因為它們都已經在資料輸入框里面. 但沒評論過的或者清除了 html' target='_blank'>Cookie 之后, 資料輸入框將空空如也.1. 當訪客的資料已經存在的情況下, 訪客很少關注資料本身, 那些資料輸入框就會變成 "礙眼的東西", 我們要想辦法將它們隱藏起來. 同時, 我們需要將這位訪客的名字顯示出來, 否則他/她根本不知道自己的身份.2. 訪客有可能郵箱更換了, 或者就想換個酷點的名字, 此時的他/她肯定想更改一下那些資料. 所以要求有一些措施, 讓訪客可以重新看到資料輸入框.3. 對于那些從未提供資料的訪客, 資料輸入框必須讓他們看到.分析由需求可以看到, 我們要處理的是兩種狀態的訪客: 有資料的, 無資料的.
對于有資料的, 具有顯示資料輸入框 (顯示昵稱) 和 隱藏資料輸入框 (顯示昵稱) 兩種狀態.
而無資料的訪客只有顯示資料輸入框 (沒有昵稱) 一種狀態.
好, 我們就為有資料的訪客配備兩個按鈕 (更改和取消), 一個用來顯示資料輸入框, 一個用來隱藏它.思路1. 頁面怎么寫 編碼前, 我們還應該理一下頭緒. 用偽代碼吧.if (有資料的訪客) {
放置訪客昵稱
放置更改按鈕 (點擊后: 隱藏更改按鈕, 顯示取消按鈕, 顯示資料輸入框)
放置取消按鈕 (點擊后: 顯示更改按鈕, 隱藏取消按鈕, 隱藏資料輸入框)
}
放置資料輸入框
if (有資料的訪客) {
隱藏取消按鈕
隱藏資料輸入框
}
2. 怎么獲知訪客是否評論過 前面已經談到, 已評論訪客的資料會在顯示出來, 也就是說, 代碼中已經實現了獲取資料的方法. 那我們找找吧... input type="text" name="author" id="author" value=" php echo $comment_author; " tabindex="1" / 就是它! $comment_author 是訪客的昵稱, 當它為空的時候就說明訪客資料為空.3. 有些控件又顯示又隱藏的, 怎么弄呢 我們不需要為此轉跳頁面, 用 JavaScript 吧. 我們可以寫一個方法, 用來設定某些控件的顯示與否, 只是一個很簡單的方法: * 設定控件的顯示風格 * @param id 控件的 ID * @param status 控件的顯示狀態 (顯示時為 '', 隱藏時為 'none')function setStyleDisplay(id, status) { document.getElementById(id).style.display = status;編碼接著干嘛 大概可以寫代碼了. 看我的... !-- 有資料的訪客 -- php if ( $comment_author != "" ) : 轉換顯示狀態用的 JavaScript Q1: 為什么這段代碼放在這里呢 A1: 因為只有當訪客有資料時, 它才被用上, 這樣可以減少無資料訪客下載頁面時的開銷. Q2: 為什么不用外部文件將 JavaScript 放起來 也許那樣維護起來更方便. A2: 因為它只在這個地方用到了. 而且加載文件的數量也會影響頁面下載速度, 為了這么點字節的代碼, 不值得新開一個文件. script type="text/javascript" function setStyleDisplay(id, status){document.getElementById(id).style.display = status;} /script div !-- 訪客昵稱 (隨便歡迎一下) -- php printf(__('Welcome back strong %s /strong .'), $comment_author) !-- 更改按鈕 (點擊后: 隱藏更改按鈕, 顯示取消按鈕, 顯示資料輸入框) -- span id="show_author_info" a href="javascript:setStyleDisplay('author_info','');setStyleDisplay('show_author_info','none');setStyleDisplay('hide_author_info','');" php _e('Change '); /a /span !-- 取消按鈕 (點擊后: 顯示更改按鈕, 隱藏取消按鈕, 隱藏資料輸入框) -- span id="hide_author_info" a href="javascript:setStyleDisplay('author_info','none');setStyleDisplay('show_author_info','');setStyleDisplay('hide_author_info','none');" php _e('Close '); /a /span /div php endif; !-- 資料輸入框 -- div id="author_info" div input type="text" name="author" id="author" value=" php echo $comment_author; " tabindex="1" / label for="author" php _e('Name'); php if ($req) _e('(required)'); /label /div div input type="text" name="email" id="email" value=" php echo $comment_author_email; " tabindex="2" / label for="email" php _e('E-Mail (will not be published)'); php if ($req) _e('(required)'); /label /div div input type="text" name="url" id="url" value=" php echo $comment_author_url; " tabindex="3" / label for="url" php _e('Website'); /label /div /div !-- 有資料的訪客 -- php if ( $comment_author != "" ) : !-- 隱藏取消按鈕, 隱藏資料輸入框 -- script type="text/javascript" setStyleDisplay('hide_author_info','none');setStyleDisplay('author_info','none'); /script php endif;
訪客評論顯示歡迎信息
關鍵問題:獲取訪客信息花點時間去研究,其實整個實現過程并不復雜。這里的關鍵點是,如何判斷訪客已經在近期發表過評論。當訪客評論時,會在 Cookie 中保存評論者的信息。我們可以通過 Firebug 或者 Chrome 的 Developer Tool 來查看: document.cookie"comment_author_bbfa5b726c6b7a9cf3cda9370be3ee91=helloworld; comment_author_email_bbfa5b726c6b7a9cf3cda9370be3ee91=dangoakachan%40gmail.com; comment_author_url_bbfa5b726c6b7a9cf3cda9370be3ee91=http%3A%2F%2Fexample.com"從上面可以看到有三個與評論相關的信息,它們分別是comment_author,comment_author_url,comment_author_email。不過中間夾雜著字符串 bbfa5b726c6b7a9cf3cda9370be3ee91,我們可以看下 default-constants.php 的代碼,就可以知道這一段叫做 COOKIEHASH,它的值是博客 URL 的 md5值。 import hashlib hashlib.md5('http://localhost/wordpress').hexdigest()'bbfa5b726c6b7a9cf3cda9370be3ee91'我們只需要了解到這一點就可以了,因為這些信息 WordPress 已經在comments_template方法中,通過wp_get_current_commenter為我們從 Cookie 中解析了訪客的信息。例如,我們可以在 comment.php 文件中,直接用$comment_author來獲取保存在 Cookie 中的訪客姓名。代碼實現接下來的實現就很簡單了,我們通過判斷$comment_author變量值是否為空,來確定訪客是否在近期有評論(有 Cookie)。if (!is_user_logged_in() && !empty($comment_author)) {如果有,則在評論框上方顯示歡迎信息:if (!is_user_logged_in() && !empty($comment_author)) { $welcome_login = ' p id="welcome-login" span 歡迎回來, strong ' . $comment_author . ' /strong . /span $welcome_login .= ' span id="toggle-author" u 更改 /u i /i /span /p $comments_args['comment_field'] = ' /div ' . $comments_args['comment_field']; $comments_args['comment_notes_before'] = $welcome_login . ' div id="author-info" 以上代碼,需要添加到主題的 comment.php 文件 comment_form($comments_args) 方法調用之前。接下來,我們通過 Javascript 來實現訪客信息更改:/* Toggle comment user */$('#comments').on('click', '#toggle-author', function () { $('#author-info').slideToggle(function () { if ($(this).is(':hidden')) { /* Update author name in the welcome messages */ $('#welcome-login strong').html($('#author').val()); /* Update the toggle action name */ $('#toggle-author u').html('更改'); } else { /* Update the toggle action name */ $('#toggle-author u').html('隱藏'); }); 這樣,如果用戶需要更新信息時,可以點擊歡迎信息右側的更改按鈕;修改完成之后,用戶信息會在評論后更新。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久av下载红粉| 欧美老少做受xxxx高潮| 亚洲国产中文字幕久久网| 97超级碰碰人国产在线观看| 国产精品综合不卡av| 成人乱人伦精品视频在线观看| 欧美日韩亚洲精品内裤| 日韩欧美有码在线| 国产一级揄自揄精品视频| 国产精品美女无圣光视频| 久久视频国产精品免费视频在线| 欧美日韩在线观看视频小说| 国产成人精品午夜| 亚洲成人av中文字幕| 欧美电影在线观看网站| 日韩电影在线观看免费| 日韩免费在线观看视频| 欧美成人一区在线| 一本一本久久a久久精品牛牛影视| 久久精品在线视频| 国色天香2019中文字幕在线观看| 成人在线中文字幕| 97超碰蝌蚪网人人做人人爽| 日韩一区视频在线| 久久久人成影片一区二区三区观看| 麻豆国产va免费精品高清在线| 亚洲精品乱码久久久久久按摩观| 欧美丝袜一区二区| 久久人人看视频| 日韩av在线电影网| 夜夜嗨av色一区二区不卡| 精品一区二区电影| 国产精品久久久久高潮| 国产狼人综合免费视频| 亚洲性生活视频| 日韩大陆欧美高清视频区| 亚洲精品国精品久久99热一| 在线视频欧美日韩| 欧美巨猛xxxx猛交黑人97人| 亚洲国产成人av在线| 成人在线精品视频| 九色精品美女在线| 成人女保姆的销魂服务| 精品久久久久久久久久ntr影视| 91九色视频导航| 日韩高清不卡av| 高清欧美性猛交| 亚洲精品乱码久久久久久金桔影视| 亚洲成年人在线播放| 成人激情视频在线观看| 国产在线观看91精品一区| 日本乱人伦a精品| 国产成人精品在线观看| 久久视频在线免费观看| 国产精品男女猛烈高潮激情| 欧美一级免费视频| 久久亚洲精品小早川怜子66| 国产午夜精品全部视频在线播放| 中文字幕久久久av一区| 欧美风情在线观看| 最近2019年日本中文免费字幕| 成人美女av在线直播| 91欧美视频网站| 亚洲国产日韩欧美在线动漫| 亚洲国产一区自拍| 亚洲肉体裸体xxxx137| 91精品久久久久久久久久| 日韩成人在线播放| 中文字幕日韩av电影| 国产精品偷伦视频免费观看国产| 亚洲欧美综合另类中字| 尤物精品国产第一福利三区| 欧美激情视频在线| 色偷偷av亚洲男人的天堂| 欧美人在线观看| 狠狠色香婷婷久久亚洲精品| xx视频.9999.com| 91精品久久久久久综合乱菊| 久国内精品在线| 精品国偷自产在线视频| 97高清免费视频| 成人精品一区二区三区电影免费| 久久久久久久久网站| 欧美在线视频观看| 久久久av亚洲男天堂| 亚洲国内精品在线| 日韩美女中文字幕| 日韩电影在线观看免费| 91精品视频在线免费观看| 欧美洲成人男女午夜视频| 欧美日本在线视频中文字字幕| 亚洲人精选亚洲人成在线| 91免费国产视频| 欧美视频在线免费| 96pao国产成视频永久免费| 亚洲精品第一国产综合精品| 国产视频在线观看一区二区| 久久精品国产亚洲一区二区| 亚洲综合在线播放| 久久综合伊人77777尤物| 国产精品久久久久免费a∨| 国产精国产精品| 欧美激情视频网站| 亚洲一区二区久久久| 欧美日韩综合视频网址| 国产日韩欧美自拍| 国产精品久久久久免费a∨大胸| 黄色精品一区二区| 日韩免费观看在线观看| 日韩女优在线播放| 欧美黑人一级爽快片淫片高清| 久久手机精品视频| 91青草视频久久| 高清欧美性猛交| 日韩电影在线观看中文字幕| 欧美日韩视频免费播放| 国内免费久久久久久久久久久| 国产亚洲视频中文字幕视频| 亲子乱一区二区三区电影| 亚洲欧美中文另类| 欧美日韩亚洲视频一区| 伊人久久久久久久久久久| 98午夜经典影视| 成人淫片在线看| 日韩av在线免播放器| 国产精品久久久久久影视| 日韩电影中文字幕av| 久久精品91久久久久久再现| 久久久久久久久网站| 亚洲男人天堂2023| www.久久久久久.com| 亚洲国产精品久久久| 亚洲精品国产精品乱码不99按摩| 亚洲精品之草原avav久久| 九九热99久久久国产盗摄| 国产日韩在线观看av| 成人444kkkk在线观看| 成人在线精品视频| www.欧美三级电影.com| 亚洲电影第1页| 一夜七次郎国产精品亚洲| 国产精品久久久久77777| 久久久久久久国产精品视频| 亚洲人成在线观看网站高清| 亚洲aⅴ男人的天堂在线观看| 日韩精品中文字幕久久臀| 欧美成aaa人片免费看| 国产精品pans私拍| 亚洲激情在线观看| 欧美精品videos| 亚洲丝袜一区在线| 久久久女人电视剧免费播放下载| 日本精品久久久久久久| 91精品啪aⅴ在线观看国产| 国产成人+综合亚洲+天堂| 欧美怡红院视频一区二区三区| 亚洲成人激情视频| 成人免费视频网址| 国产一区二区在线免费| 欧美与黑人午夜性猛交久久久| 欧美国产亚洲精品久久久8v| 亚洲成av人片在线观看香蕉| 色偷偷av一区二区三区乱| 国产视频福利一区|