我关于 WordPress 评论的愿望清单

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

内置评论系统是人们选择 WordPress(并经常长期使用)的原因之一。虽然我认为拥有评论系统很有吸引力(并且我非常喜欢在 WordPress 上构建),但我发现 WordPress 上的评论系统相当粗糙。它需要一些改进!那里还有很大的潜力!这是我的清单。

我没有 WordPress 内部信息来告诉我这些想法的难度、它们可能影响的其他方面以及围绕它们已经进行过哪些讨论。虽然我个人喜欢这些想法,但我完全意识到软件决策,尤其是在这种规模下,并非轻率做出的。因此,综上所述,这个愿望清单几乎就像一次设计练习,可以被视为用户反馈。

评论应该由用户拥有和编辑。

我发现一件非常奇怪的事情是,已登录的用户可以发表评论,但评论并不“属于”他们。他们的帐户与他们刚刚发表的评论之间似乎没有直接联系。似乎如果您确实拥有一个帐户,那么将其附加起来将是一件显而易见的事情。人们经常在评论中打错字,如果他们能够直接编辑它们,那么对他们来说会减少很多挫败感。也许可以提供一种方法,即使没有帐户也可以进行编辑,例如某个编辑超时窗口。

作为管理员用户,我可以在管理区域编辑评论。这是我期望已登录的用户可以对其自己的评论执行的操作。

这是 BuddyPress 做的吗?我不知道。 我知道使用 bbPress,用户拥有(因此可以编辑)他们的主题和回复(可能是时间有限的),但此功能似乎没有扩展到帖子评论线程。

评论应该支持社交登录。

如今,不得不手动输入您的姓名、电子邮件地址等等来发表评论感觉太麻烦了。我敢打赌,仅此一项就劝退了许多潜在的评论者。像 Disqus 这样的评论系统使此过程变得快速而简单,并且在社交媒体上,我已经习惯了能够键入回复并立即做出回应。在 WordPress 评论表单上,我应该能够点击一个按钮,让我不必再费力地记住我的姓名和电子邮件等信息。这甚至可能是我以后编辑评论的途径。

Jetpack 为评论提供社交媒体登录功能,但是,如果您启用此功能,评论的 UI 将被 <iframe> 包裹,因此您无法控制设计或任何其他内容。

此外,最初显示为一个小窄文本区域块,您需要点击它才能展开成评论区域的 UI 也是不可更改的,并且与我的样式配合得不好。我不介意此功能由 Jetpack 提供支持,我只是想要更多控制权。

您从 Jetpack 获取的登录表单,就像 WordPress.com

应该有一个 HTML 标签白名单。

我发现当人们键入 <div> 时,他们并不期望必须对其进行转义以免被删除。他们期望它只显示 <div>。即使是 Web 开发人员也是如此。

我看到人们经常“搞砸”(并非完全是他们的错)评论中的 HTML。 Jetpack 在评论中提供 Markdown,这是一个巨大的改进,因为它使用反引号变得非常容易。我认为原生 WordPress 应该支持它。但即使这样,也不是每个人都了解 Markdown,更不用说它如何处理 HTML(例如,它何时转义 HTML 以及何时不转义)。

我已经思考这个问题十年了,我仍然不确定最佳解决方案,但白名单似乎可以提供很大帮助。例如,您可以使用 <em>,它会使文本变为斜体,但像 <section> 这样的标签不在白名单中,并且会自动转义。

评论应该可以预览。

预览可以让用户有机会确保他们的评论看起来正确,而且可能同样重要的是,在点击提交按钮之前再思考一次。

回复应该生成电子邮件通知。

Jetpack 提供一项功能,允许用户订阅您的博客本身(新发布帖子的电子邮件通知)或用户正在评论的特定帖子的评论。

对于新博客文章电子邮件,这些电子邮件来自 WordPress.com,您无法控制它们(例如,设计控制或控制触发它们的帖子类型)。这仍然是一个很酷的功能,但是如果您认真地向用户提供新内容,您可能可以使用更 自定义的工作流程

通知用户新的评论似乎是任何评论系统的绝佳功能。当我发表评论时,我会感到投入,并且很有可能我想关注后续的对话。尽管如此,更有可能的是,我只想听到对我的特定评论的回复。WordPress 已经为很多事情生成了很多电子邮件,这似乎并不超出范围。

回复应该显示父级评论。

在查看网站本身时,回复非常明显。它们嵌套在它们回复的父级评论之下。上下文始终存在。但是还有其他地方您可以看到回复评论并且完全缺少该上下文

  1. 回复评论的电子邮件通知不包含父级线程
  2. 管理(或 WordPress 应用程序)中的评论区域

后者包括一个“回复 [姓名]”链接,但它所做的只是链接到该父级评论所在的网站前端,它没有执行任何额外有用的操作,例如内联展开或显示弹出窗口预览。

评论电子邮件应该更美观。

我在 CSS-Tricks 上有一个名为 Clean Notifications 的插件,该插件已有 13 年未更新,但仍然可以正常工作。它所做的只是清理电子邮件,以便其中没有冗长的 URL,而是使用常规 HTML 链接。

默认的新评论电子邮件:充满冗长的 URL
启用 Clean Notifications 后,内容会稍微清理一些。

我建议默认的 WordPress 生成的电子邮件可以进行全面设计改进。基本的 HTML 电子邮件使用将允许链接使用和基本排版,这将使它们都变得更加美观。

看看 Lee Monroe 的 HTML 电子邮件模板 有多么简洁美观。

确实存在用于删除标记为垃圾邮件评论的链接,但它们实际上并没有执行这些操作,它们会将您带到一个页面,然后您必须点击另一个链接才能执行该操作。如果我已获得授权,则它应该直接执行操作。

Ajax

评论操作(特别是发表新评论)应该可以在无需刷新整个页面的情况下完成。刷新整个页面让人感觉过时了,就像缺少快速社交认证一样过时。

评论回复已经有一个特殊的脚本,会在 WordPress 主题中加载。该脚本负责操作 DOM 并将评论表单移动到评论旁边(当点击“回复”链接时,如果启用了此功能)。因此,在任意主题上使用特定于评论的 JavaScript 存在先例。

我认为可以编写更多 JavaScript 代码,以便通过 Ajax 提交新评论并操作 DOM 来完成后续操作(显示评论,显示批准消息,显示错误等)。这方面也存在先例,例如第三方插件博文中关于手动实现的介绍。就我个人而言,我只是不想背负这些技术债务,我只希望它能正常工作。

更多评论操作

我一直使用一个插件来帮助我在评论线程中“置顶”或“隐藏”评论。它并不复杂,因为它只是更新单个评论的一些元数据,然后让我使用类应用这些状态并在 CSS 中对其进行样式化。我不知道所有网站都需要这种功能,但是……Jetpack 提供了添加按钮的功能,可以像在 WordPress.com 上一样“点赞”帖子。为什么评论不行呢?如果人们可以对评论进行投票,它可以做一些有用的事情,例如允许默认的评论排序基于点赞而不是仅基于时间顺序。我认为人们更关心有趣的评论,而不是按日期时间顺序查看它们。

因此,额外的评论操作可能是……

  • 点赞
  • 点踩
  • 举报为垃圾邮件
  • 举报为有害信息(或违反行为准则)
  • 保存/固定

说到投票,如果评论由用户拥有,并且评论包含有关质量的数据,那么拥有大量优质评论的用户可能会以各种方式获得奖励。现在,您基本上必须选择是否审核所有评论,但可能您只需要审核来自质量评分低/差/无的用户提交的评论。更不用说在评论线程中突出显示来自已知优质评论者的评论了。

排序

假设我们获得某种评论投票系统,那么默认情况下,评论按投票数排序是有意义的。或者至少除了时间顺序之外,还可以提供排序选项。

前端权限

我认为如果您可以像在后端一样操作前端的评论,那将非常棒。例如,编辑评论、删除评论、将其标记为垃圾邮件、更新元数据等。

评论管理员权限角色

在评论线程活跃的网站(如果有了这些很棒的改动,所有网站都会如此,对吧?)上,能够邀请值得信赖的社区成员来管理评论线程会很棒。不是整个网站的管理员。不是作者或编辑。只是那些有权限处理评论的人。

目前还没有。

这部分灵感来自Jeremy Felt 最近的一篇文章,也部分延续了我自己的想法。Jeremy 提到了私密评论(有趣,但对我来说吸引力不大)和 Webmentions 支持(请务必支持!)等想法。也许这个项目会取得进展。