WordPress顯示評論者IP歸屬地、瀏覽器、終端裝置、電信電訊廠商

來源:互聯網
上載者:User

標籤:pac   方式   com   顯示   解壓   上傳   folders   function   weight   

在網上查資料閑逛,偶然間看到了張戈部落格的評論框有點意思,於是就收走拿到了我的米撲部落格。

WordPress顯示評論者IP歸屬地、瀏覽器、終端裝置、電信電訊廠商,如:

米撲部落格評論示範效果: https://blog.mimvp.com/donate/#comments

 

 

恩,本來搞定了不打算寫部落格的,但是想了想原文步驟繁瑣,有些細節還沒有,都是自己一點一點搗鼓出來的,很多朋友可能用得到,所以還是總結分享寫出來

張戈部落格,WordPress顯示訪客UA資訊,共分了兩篇部落格:

WordPress顯示訪客UA資訊:Show UserAgent純程式碼輕度漢化版

分享WordPress顯示評論者IP的歸屬地及電訊廠商資訊的2種方案

 

本文,將合并兩篇部落格的內容,主要合并了兩個指令碼,並對國旗、瀏覽器、終端裝置等表徵圖進行了美化

 

外掛程式實現

1)Show UserAgent 外掛程式  (推薦)

官網: https://wordpress.org/plugins/show-useragent/

下載: show-useragent.1.0.9.zip

如下:

 

2)WP-UserAgent 外掛程式  (適合老外)

官網:https://wordpress.org/plugins/wp-useragent/

下載: wp-useragent.zip

如下:

 

 

代碼實現

到這裡,請注意,全部是重點,按步驟做就好了

1.  下載zip包

米撲部落格整理了表徵圖和文字兩種顯示方式,命名為加強版zip包

Show UserAgent 加強版: show-useragent-pro.zip

 

2. 上傳到主題根目錄

把 show-useragent-pro.zip 上傳到主題的根目錄,注意不是WordPress根目錄

例如,米撲部落格使用的主題是 officefolders ,則zip包上傳至 wp-content/themes/officefolders/ 目錄下

上傳後,解壓zip包:

unzip  show-useragent-pro.zip

解壓後的檔案清單如下:

# tree show-useragent -L 1
show-useragent
├── browsers
├── flags
├── ip2c
├── ip2c-qqwry.dat
├── ip2c-text.php
└── show-useragent.php

 

3. 添加代碼到 functions.php

vim functions.php

在 php 範圍內,添加兩行代碼:

include("show-useragent/show-useragent.php");   // 顯示訪客資訊include("show-useragent/ip2c-text.php");        // IP歸屬地和電訊廠商查詢功能

 

4. 添加代碼到 xxx-comment.php 模板

這裡,我們需要在評論者使用者後面,添加顯示IP歸屬地、瀏覽器表徵圖等資訊,因此需要找到評論者的位置,尋找方法如下:

1)開啟有評論的網頁,按 F12(Mac使用者按鍵組合 option + command + i )進入開發人員模式,定位到評論者,例如:陽光島主

 

2)搜尋定位的關鍵詞

在WordPress根目錄下,搜尋定位到的關鍵詞,如中的 "comment-author vcard" ,找到對應的評論模板檔案

一般模板檔案在 wp-include/ 目錄下,所以搜尋命令為:

# grep "comment-author vcard" wp-includes/ -r | grep -vE ".svn|.git"
wp-includes/class-walker-comment.php:           <div class="comment-author vcard">
wp-includes/class-walker-comment.php:                                   <div class="comment-author vcard">

 

3)修改評論模板檔案

開啟步驟2)找到的評論模板檔案

vim wp-includes/class-walker-comment.php

再次搜尋關鍵詞 "comment-author vcard",定位到在檔案中的具體位置,添加代碼如下:

<span id="comment_ua_info" class="comment_ua_info" style="white-space: nowrap;overflow: hidden;display:none;"><?php echo ‘&nbsp;&nbsp;&nbsp;‘; CID_print_comment_flag(); echo ‘ ‘; CID_print_comment_browser(); ?><?php echo "<span id=‘ua-info-text‘ style=‘font-size:14px;font-weight:normal;color:#aaa;‘>"; echo convertip(get_comment_author_ip()); echo "</span>"; ?></span>

添加後的效果:

簡單解釋:

<span id="comment_ua_info" ...  >  包含IP歸屬地、瀏覽器,以及文本資訊等,目的是為後面滑鼠懸浮顯示時使用,js實現顯示和隱藏效果  

CID_print_comment_flag()   顯示IP歸屬地的國旗

CID_print_comment_browser()   顯示瀏覽器和使用者裝置

convertip(get_comment_author_ip())   顯示IP歸屬地的文本資訊

 

至此,顯示評論者資訊已經實現了

如果想看效果,先把 id="comment_ua_info" 中的樣式 display:none; 去掉,就可以看到效果了

 

5. 添加代碼到 footer.php

初看步驟4的效果還不錯,但是看上去資訊會很多,顏色等有點亂,於是想追求極致,還需要繼續努力

為了實現滑鼠懸浮在評論框才顯示的效果,我們需要結合js實現,添加js代碼到主題下的footer.php中

vim footer.php

添加js代碼

<!-- comment ua-info --><script>jQuery(‘.comment-body‘).hover(         function(){        jQuery(this).find(‘span.comment_ua_info‘).show();    },    function(){        jQuery(this).find(‘span.comment_ua_info‘).hide();    });jQuery(‘.comment-body‘).click(         function(){        jQuery(this).find(‘span.comment_ua_info‘).show();    });</script>

說明:

1)jQuery(‘.comment-body‘).hover  懸浮事件,主要用於PC電腦端,但是手機端沒有懸浮事件

2)jQuery(‘.comment-body‘).click  點擊事件,主要用於手機端,點擊可以顯示,但需要注意click事件裡不要加hide,否則在電腦端與hover相衝突

3)span.comment_ua_info 標籤,是在步驟4中特別說明的,記得要把  id="comment_ua_info" 中的樣式設定為 display:none; 預設不顯示ua-info資訊

 

至此,評論者IP歸屬地等資訊預設是隱藏了,只有當滑鼠懸浮在評論框時才會顯示出來

示範效果,請見米撲部落格:https://blog.mimvp.com/donate/#comments

 

6. 按鈕顯示評論所有IP

上面的功能,在一些部落格裡都已實現,我的米撲部落格只是把人家的效果,用代碼實現分享出來

最後,奉獻一點小創新,個人感覺還是比較實用的,就是添加一個按鈕,能夠一鍵顯示所有IP

恩,你說的對,步驟4早已經實現了,折騰出步驟5的隱藏IP,現在步驟6又整出一鍵顯示所有IP,閑的蛋疼,哈

恩,蛋疼也好,折騰也罷,也要搞出來,微創新嘛,直接上代碼和步驟啦

1) 修改評論檔案 comments.php

進入主題目錄,修改評論檔案 comments.php

vim comments.php

添加一行用於顯示的按鈕(按鈕放哪兒,由你自己決定了)

<span id="comment_show_ip" class="comment_show_ip" style="color:blue; font-size:14px;">顯示評論IP</span></p></div>

 

2) 添加js代碼到 footer.php

進入主題目錄,修改頁尾檔案 footer.php

vim footer.php

添加js代碼如下:

<script>jQuery(".comment_show_ip").click(function(){    if(jQuery(".comment_show_ip").text() == "顯示評論IP") {        jQuery(".comment_ua_info").show();        jQuery(".comment_show_ip").html("隱藏評論IP");    }    else {        jQuery(".comment_ua_info").hide();        jQuery(".comment_show_ip").html("顯示評論IP");    }});</script>

 

3)檢閱成果

a)點擊“顯示評論IP”,則顯示全部評論IP,並把按鈕置為“隱藏評論IP”,如

 

b)點擊“隱藏評論IP”,則隱藏全部評論IP,並把按鈕置為“顯示評論IP”,如

 

好了,折騰完了,到底蛋閑不閑疼不疼,看看米撲部落格的效果再說吧 ??

米撲部落格:https://blog.mimvp.com/donate/#comments

 

 

WordPress顯示評論者IP歸屬地、瀏覽器、終端裝置、電信電訊廠商

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.