前兩天接了一個zblogPHP程序的模板修改,需要發文時候閱讀數是隨機值,并且再10000-1000000之間隨機,并且最終顯示的數字為隨機數字疊加真實閱讀數,簡單說,發文時候給一個隨機閱讀數,發文后隨機閱讀數就不變了,以后只疊加真實閱讀數!
之前也過一篇文章《zblogPHP 閱讀數 隨機顯示》這個方法每次刷新都會產生新的隨機閱讀,也就是來回變動,雖然也能用但不嚴謹,仔細看的話很容易被訪客看到閱讀作弊,本文介紹的更好一些!
今天分享出來:
因為是特殊定制,用途也沒有那么廣泛,所以只需要再一個模板中修改即可,增加一個字段,這個字段再發文的時候隨機生成一個數字,作為隨機閱讀數,之后再前端把隨機閱讀數+真實閱讀數,就可以得到想要的隨機+真實閱讀了!
簡單說下:
在發文頁面加入字段:
Add_Filter_Plugin('Filter_Plugin_Edit_Response3','ydlinux_article_randeye');
function ydlinux_article_randeye(){ global $zbp,$article; $temp=rand(1000,100000); echo ''; echo '<div class="admin_product"><label class="editinputname">隨機閱讀數:</label><input type="text" name="meta_randeye" style=" width:80%; height:30px" value="'.htmlspecialchars($temp).'"/></div>'; }
到此,在發文的時候就會出現一個隨機項,不止可以隨機,其實還可以自定義,隨機不要管它就好了!
最后,在模板文件中把閱讀標簽更換為:
{php}$yuedu=$article->Metas->randeye+$article->ViewNums{/php}{$yuedu}
如上,很簡單的就可以實現隨機閱讀數+真實閱讀了,以上代碼實現的是發文后隨機數字就固定下來了,只有再次編輯文章,才會產生新的隨機數,當然也可以加一個判斷,一篇文章只產生一次隨機閱讀,再次編輯也不會有變化,當有隨機數字時候時關閉這個功能就行了!