Stargb星级评分插件源码WordPress导航站评分系统源码

Stargb星级评分插件源码WordPress导航站评分系统源码

  • 承接源码二开、定制
  • 各种脚本CMS插件定制
  • 全站源码免费下载
资源下载
免费资源
立即下载

源码系统概览

文章正文

Stargb 是一款体积极小的 WordPress 星级评分插件源码,作者标注版本为 1.0.0,专门为 OneNav 网址导航主题定制。

整个插件只有四个文件,没有任何第三方依赖,星星图形和表情反馈全部用内联 SVG 画出来,装上就能在网址详情页和侧边栏加评分。

本站已完整解压并逐文件走查过代码,下面把它的实现思路、可取之处和几个必须注意的问题讲清楚。

源码简介

插件根目录是 stargb,主入口 stargb.php 负责定义常量、加载子文件和挂载前台样式,两个功能文件放在 inc 目录,样式表放在 assets 目录。

inc 下的 rating.php 是评分核心,负责数据读写、去重判断、AJAX 提交和组件渲染;widget.php 负责注册侧边栏评分小工具。

评分数据不建任何数据表,而是直接写进文章的自定义字段,评分数组和已评用户标识分别存在两个 meta 键里,插件卸载后残留极少。

统计逻辑集中在 stargb_get_rating_data 函数,它一次性算出评分总人数、平均分和一到五星的分布数组,供详情页和小工具复用。

渲染层分成星星条、表情脸和分布柱状三种形态,星星、麦穗装饰和表情五官都是手写 SVG 路径,前台完全不用加载图片。

适用场景

最直接的用法就是给 OneNav 网址导航站的收录条目加上用户打分,让访客能对每个站点表态。

如果你在做资源站、工具站或者软件推荐站,这套组件也可以改造成资源评分模块。

对开发者而言,它是一个很干净的 WordPress 插件范例,适合学习钩子挂载、post meta 存储、AJAX 接口和小工具注册这几件事。

功能亮点

零依赖是最大优点,不建表、不引外部 CSS 框架、不加载图片,样式表通过文件修改时间自动生成版本号,避免缓存问题。

组件挂载方式很聪明,通过 OneNav 主题提供的详情页内容钩子自动插入评分块,不需要手动改主题模板。

小工具注册做了多重兜底,同时挂在主题初始化、init 和主题配置加载三个时机,最后还在小工具初始化阶段用高优先级强制注册一遍,避免因主题加载顺序导致注册失败。

游客也能参与评分,插件用登录用户 ID 或者访客 IP 与浏览器标识的哈希值作为去重键,同一标识只能评一次。

前台脚本和内联样式分别挂在页脚和页头输出,且都跳过后台环境,不会拖慢 WordPress 管理界面。

技术架构与部署指南

维度 本套源码 同类通用方案
技术栈 前端:原生 JavaScript 加内联 SVG,样式为独立 CSS 文件配合页头内联补充,无 jQuery 之外的额外 依具体方案选型,需自行搭建与维护
部署方式 把 stargb 文件夹整体上传到站点的插件目录,然后在后台插件列表里启用即可,没有额外的设置页需要配置。 多托管于第三方平台或订阅云服务
功能侧重 零依赖是最大优点,不建表、不引外部 CSS 框架、不加载图片,样式表通过文件修改时间自动生成版本号,避免缓存问题。 功能通用,定制深度有限
数据归属 数据自持,部署在自有服务器,不出站 数据通常留存于服务商侧
成本模式 获取后自主部署,无持续授权费用 通常按订阅或调用量计费

技术栈与运行环境

前端:原生 JavaScript 加内联 SVG,样式为独立 CSS 文件配合页头内联补充,无 jQuery 之外的额外依赖。

后端:PHP,基于 WordPress 插件 API,使用 add_action 钩子与 AJAX 动作注册。

数据库:不新建数据表,评分数据存放于 WordPress 自带的文章 meta 表。

运行环境:WordPress 站点,建议 PHP 7.4 及以上,需搭配 OneNav 网址导航主题使用。

其他依赖:依赖 OneNav 主题的详情页内容钩子与主题配置框架,脱离该主题需自行改钩子。

安装与部署提示

把 stargb 文件夹整体上传到站点的插件目录,然后在后台插件列表里启用即可,没有额外的设置页需要配置。

启用后打开任意一个网址详情页,评分组件会自动出现在正文内容之后。

侧边栏评分小工具需要到外观里的小工具面板手动拖到目标侧边栏,才会在前台显示。

如果你用的不是 OneNav 主题,需要把详情页插入钩子替换成自己主题的内容钩子,或者改用短代码方式调用渲染函数。

截图与演示说明

网址详情页正文下方的评分区是核心界面,左侧是平均分与五星条,右侧是一到五星的分布柱状图,两侧还有麦穗形状的 SVG 装饰。

鼠标划过星星时会出现表情脸反馈,从不满到满意对应不同的眼睛和嘴巴路径,提交后星条会锁定并弹出评分成功提示。

侧边栏小工具是另一处可截图位置,它复用同一套渲染函数,以紧凑形态展示当前条目的平均分与评分人数。

已评分状态下再次点击会返回提示文案,这个交互也值得单独截图,用来说明去重机制生效。

Stargb星级评分插件源码WordPress导航站评分系统源码

常见问题

问:启用后详情页没有出现评分?

插件绑定的是 OneNav 主题的详情页内容钩子,若主题不匹配或版本过旧,钩子不存在就不会输出,需要手动改成主题实际提供的钩子名。

问:侧边栏小工具找不到?

先确认插件已启用,再到外观里的小工具面板查看,插件是在小工具初始化阶段以高优先级注册的,正常情况下会出现在可用列表里。

问:评分数据存在哪里,能清空吗?

数据存在文章自定义字段里,删除对应的两个 meta 键即可清空某篇内容的评分记录。

安全风险提示

本插件未检测到 eval、base64_decode 一类混淆或后门代码,输出侧也使用了转义函数处理属性。

但走查发现 AJAX 提交接口没有做 nonce 校验,且同时开放给未登录访客,游客去重仅依赖 IP 与浏览器标识的哈希,换网络或改标识即可重复提交,存在被脚本刷分的风险。

另外评分记录是以完整数组形式存进文章 meta 的,热门条目评分量大时该字段会持续膨胀,建议二次开发时改为独立表或只存汇总值。

特别提示:下载后请务必进行安全审计,补齐接口校验与频率限制后再部署使用!

下载说明

本站提供的是插件完整源码包,解压后即为 stargb 目录,包含主入口文件、评分核心、小工具注册文件和样式表。

源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。

插件面向特定主题定制,使用前建议先在测试站验证兼容性,正式站点操作前请做好数据库与文件备份。

资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei9299.html来源于互联网,如存在侵权,请联系我们立马删除!
1
显示验证码