魔改Typecho顶踩插件Digg,实现ajax评分功能 - 黑冰技术站

魔改Typecho顶踩插件Digg,实现ajax评分功能

说明

以前用PostRating这款插件实现过评分功能,然后我为了实现一个其他功能,貌似是图片延迟加载功能,引入了一个jquery库,与PostRating自带的冲突,甚至还有一些其他问题。昨天,恰好看到一款顶踩插件Digg,脑回路运转,发现可以实现评分。然后,就尝试改写了部分代码。废话到此为止,下面进入正文。

Digg使用方法

下载什么的,不说了,网上很多下载渠道的。主要说下使用方法,上传插件到网站plugins目录,该插件命名为Digg。后台启用插件,修改cssjavascript,主要是注意下https问题。然后,将淡黄色提示框里的内容,填写到插件目录下的digg.js里,如下图所示。

魔改Typecho顶踩插件Digg,实现ajax评分功能
然后,在主题目录post.php适当位置插入如下代码

<?php Digg_Plugin::output(); ?>

这时,顶踩插件就可以用了。

Digg魔改

插件设置,项目存储id修改为1|2|3|4|5,项目中文输出修改为1分|2分|3分|4分|5分。然后,就是修改插件的输出函数部分了。打开digg插件目录下的Plugin.php文件,找到大约第157行代码,修改为如下代码。如果找不到代码具体位置,请搜索<?php Digg_Plugin::output(); ?>,即可定位。关于魔改的部分已用//标记

        /* 用法1 <?php Digg_Plugin::output(); ?>       按插件自定义格式输出 也可自己修改输出格式*/
if (!$return) {
    $sum=0;  //新增分数求和变量
    $num=0;  //新增评分个数变量
    echo "<div id=\"digg\" class=\"clearfix\"><font style=\"font-size:16px;color:darkcyan;\">给文章评分:</font>";  //修改样式
    foreach ($items as $k => $v) {
        echo '<a href="javascript:digg(\'' . $v . '\',\'' . $cid . '\');" id="digg-' .$v. '">';
        echo $result['items'][$v];
        echo '(<span id="' . 'digg-' . $v . '-num">' . (isset($result[0][$v]) ? $result[0][$v]['count'] : 0 ) . '</span>)</a>';
        $sum = $sum+$v*$result[0][$v]['count'];  //计算总评分
        $num=$num+$result[0][$v]['count'];        //获取评分个数
        }
    $ave=$sum/$num;    //计算平均分
    $ave=round($ave,2);  //保留两位有效数字
    echo "</br><i class=\"fa fa-star\"></i> <b>$num</b> 票; 总得分 <b>$sum</b>; 平均分 <b>$ave</b> <i class=\"fa fa-star\"></i>";  //新增分数统计输出
    echo '</div>';
    return;
}

效果

有人会问,这个评分有啥用,除了装逼。实际上,经常关注谷歌搜索引擎的应该知道,有一个东西叫结构化标记,里面可以为你的每篇文章标记结构,内容毕竟丰富,其中就有一项评分。搞好以后,等谷歌抓取更新,就可以提交结构化标记,谷歌自动读取你每篇文章的评分,并在搜索结果里显示。

魔改Typecho顶踩插件Digg,实现ajax评分功能
话说,我的文章评分由于之前的插件失效,被我删了结构化数据,搜索引擎已经没评分了,这里随便找个链接,展示下效果。

魔改Typecho顶踩插件Digg,实现ajax评分功能

给文章评分:1分(7)2分(1)3分(0)4分(2)5分(10)
20 票; 总得分 67; 平均分 3.35
Tags:评分搜索引擎
上一篇
打赏
下一篇

添加新评论