WB Reviews
为文章和页面提供星级评分和经审核的评价。
描述
WB Reviews 为文章和页面添加星级评分和经审核的评价。访客可以查看平均分、各星级分布和文字评价。会员或访客每个页面可留下一条评价。哪些内容上线由你批准。
你将获得
- 任何内容都可以评分。 按名称勾选站点自己的内容类型。没有任何东西与文章绑定。
- 文字评价和纯星级评分。 文字是可选的。仅有星级的评分会计入平均分,但不会出现在列表中。
- 会员或任何人。 访客需要提供姓名(如果你要求,还需提供电子邮箱)。访客评价始终需要等待批准。每位访客一条评价。
- 审核。 待审核和已发布页面,按文本查找,并可按电子邮箱删除某位访客的评价。
- 所有者回复。 在评价下方有一条公开回复,在管理后台撰写。
- 搜索引擎。 评分会作为结构化数据添加到页面中。
- 仪表盘卡片显示待处理的内容,另有可选的每小时邮件,不含评价文字,也不含链接。
它们如何协同工作
插件是引擎:路由、存储和管理界面。EmDash 插件无法向你的站点添加页面,因此公开界面以站点套件的形式提供,你只需复制一次。参见安装。
评价不是核心评论。评论仍用于交流。此插件增加的是评分、每人一条记录、平均分、条形分布图和所有者回复。
安装
安装之前
1. 你的站点需要沙盒运行器。 注册表插件在沙盒中运行。在站点配置好之前,Admin、Plugins 会显示 “No plugins configured”,菜单中也没有 Registry。
- Node: 在你的站点中运行
npm install @emdash-cms/sandbox-workerd workerd,然后在astro.config.mjs的emdash()内添加sandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",。 - Cloudflare: 添加
import { sandbox } from "@emdash-cms/cloudflare";和sandboxRunner: sandbox(),。这需要 Workers Paid 套餐、名为LOADER的worker_loaders绑定(在你的 Wrangler 配置中取消注释)以及作为storage: r2(...)的 R2 存储桶,否则安装会因 “Storage error while installing plugin” 而停止。然后运行npm run deploy。
停止开发服务器并重新启动。Registry 现在会显示在管理菜单中。
2. 插件是引擎。访客页面来自它的站点套件。 注册表插件无法向你的站点添加页面。在你复制套件之前,它的地址(例如 /account/reviews/)会显示你站点的 404 页面。这是正常的。下面复制套件只需一条命令。
已在 EmDash 1.3.1 上使用 blog 模板验证,涵盖 Node 和 Cloudflare Workers(注册表安装)。
安装步骤
-
Admin、Registry,搜索 WB Reviews,Install,然后接受权限。
-
在你站点的根文件夹中:
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.3.0 \ https://github.com/wbcomdesigns/emdash-reviews \ "$kit/emdash-reviews" && "$kit/emdash-reviews/scripts/add-to-site.sh" . -
粘贴它打印出的那几行。重启开发服务器。
-
在 Admin、Menus 中添加它打印出的菜单链接。
-
打开 Reviews、Waiting。
每次更新后,使用新标签再次运行第 2 步。
指南:https://github.com/wbcomdesigns/emdash-reviews/blob/v0.3.0/docs/website/getting-started/install.md
常见问题
为什么安装后没有评价区块? 插件无法添加页面或 CSS。请把站点套件的组件复制到你的模板上,然后重新加载。
为什么页面上没有评价表单? 该内容类型没有在 Admin → Reviews → Settings 下被勾选。请勾选它,否则表单会保持隐藏。
访客可以写评价吗? 可以,只要 Settings 设为任何人都可以评价。访客需要提供姓名,如果你要求,还需提供电子邮箱。访客评价始终需要等待批准。
新评价会立即上线吗? 只有会员的评价,并且前提是你关闭了审批。审批开启时(这是默认设置),评价会一直等到你批准。对已上线评价的修改也会等待;在你批准该修改之前,已发布的文字保持不变。
什么是纯星级评分? 没有文字的星级。它会计入平均分和条形图,但不会出现在文字评价列表中。
它会发送电子邮件吗? 评价在等待时,最多每小时发送一条简短通知,并且仅当你开启该功能且站点有邮件功能(官方 Resend 插件)时才会发送。通知中不含评价文字,也不含链接。
有付费版本吗? 没有。这里的一切都是免费的。
更新日志
0.3.0
- 改进:每个页面、管理操作和访客请求都符合 Cloudflare 每次插件调用最多 10 个请求的限制。计数随每条评价而变动,而不是重新读取该页面的每一条评价。
- 改进:Waiting 和 Published 页面按日期分页;Find 每次搜索几百条评价。Delete all my reviews 和按电子邮箱删除都分步进行。
- 修复:同一时刻发送的评价各自只计一次。0.2.0 中丢失的评分会被重建。
- 更新后,请在管理后台打开 Reviews:它会分几步把 0.2 的数据迁移过来,同时你可以继续审核。没有新增权限。
更新后,请在你站点的根文件夹中再次复制套件:
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.3.0 \
https://github.com/wbcomdesigns/emdash-reviews \
"$kit/emdash-reviews" &&
"$kit/emdash-reviews/scripts/add-to-site.sh" .
0.2.2
- 修复:在文章页面和文章卡片已经显示 WB Reviews 的站点上重新运行 scripts/add-to-site.sh 时,会提示这些行已经就位。
0.2.1
- 安全:只有在主机传递访客地址的情况下(Cloudflare 或 trustedProxyHeaders),访客才能评价;否则他们需要登录。IPv6 按 /64 计数。
- 新增:Waiting 显示 Set up visitor pages。scripts/add-to-site.sh 会复制套件并打印需要粘贴的行。
- 修复:待审核的评价不再隐藏已发布的评价或破坏评分;未发布的页面不显示任何内容。
早期版本:https://github.com/wbcomdesigns/emdash-reviews/blob/main/CHANGELOG.md