前两天接了一个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}
如上,很简单的就可以实现随机阅读数+真实阅读了,以上代码实现的是发文后随机数字就固定下来了,只有再次编辑文章,才会产生新的随机数,当然也可以加一个判断,一篇文章只产生一次随机阅读,再次编辑也不会有变化,当有随机数字时候时关闭这个功能就行了!