管理评论线程

Avatar of Chris Coyier
Chris Coyier

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

博客文章上的长评论线程既是福也是祸。引发如此热烈的社区讨论很棒。但是,任何超过,比如,20 条评论的内容都开始超出任何人愿意实际阅读的范围。可能会发生的是人们阅读文章,阅读前几条评论,然后开始快速浏览它们(速度越来越快),直到他们到达底部,然后阅读最后的一两条评论。至少,我都是这么做的。

WordPress 会自动将类名附加到作者(“bypostauthor”)的单个评论 <li> 标签和各种其他类似内容。许多主题使用这些钩子来应用特殊样式。这样,作者评论会稍微突出一些,浏览文章的人可以暂停阅读作者评论,这些评论可能比其他评论更令人感兴趣。

这是一个良好的开端,但我们可以做更多的事情来管理评论线程,使其更便于访问者阅读。

我们现在拥有的工具

在过去几年中,出现了一些用于处理评论线程的设计模式。

  • 回复/嵌套评论
    嵌套评论是指评论旁边有“回复”按钮,以便其他评论者可以点击它来继续该特定子对话。这极大地帮助了对话线程的可读性,将每个对话都包含在内,而不是阅读 20 条评论后面的评论,而这条评论是 20 条评论之前的评论的回复。

    我喜欢将嵌套对话的“深度”限制在只有几层,因为就我个人而言,我发现当尝试跟踪超过 3 层的嵌套线程时,会更令人困惑。

    这也可能被滥用,人们可以回复其他评论,只是为了在评论列表中排名更高。

  • 作者/管理员评论
    当文章作者(或其他网站管理员)在评论线程中发表评论时,它可能会引起特别的兴趣。这样说起来有点自命不凡……但我通常发现在我阅读的其他博客中确实如此。突出显示这些评论对于那些浏览评论线程的人来说可能会有用。正如我在本文开头提到的,WordPress 通过自动将类名(如“bypostauthor”)应用于评论列表元素,使这变得很容易。

    扩展这个想法:可以对常规评论者或可靠提供优质见解的评论者进行相同处理。激烈辩论通过“声誉”来实现这一点。

  • 投票
    在一个足够大的社区中,允许读者对评论进行投票是一种自然地允许管理评论线程的方式。我在这里发现的最大缺陷是,原始资料越有争议,人们投票的依据就越倾向于他们所处哪一边,而不是评论的质量。资料越不具争议性,人们的投票动机就越低。

    我认为,让大家仅仅基于评论质量进行投票要求过高。

  • 分页
    如果相关网站通常有数百个问题,您可能需要考虑对评论进行分页,即使是为了帮助节省带宽(滚动本身并不重要)。

    就我个人而言,我讨厌分页评论。我绝不会去读一页评论,然后点击翻到第 2 页,读完这些评论后,再点击翻到第 3 页。我绝对不会这样做。

    上面是 Nick La 的 Web Designer Wall。Nick 是一位出色的设计师,他正面临着评论过多的问题。他可能分页有自己的理由,但无论如何,我绝不会以这种方式阅读所有这些评论。

  • 审核
    这里讨论的话题是“管理”。正如我上面提到的,一种方法是使用蛮力。删除毫无意义、与主题无关或粗鲁的评论。仅此一项,就能大大提高评论线程的可读性。

WordPress 的新(甜蜜)解决方案

我一直在寻找一种不同的解决方案,一种更简单的解决方案,这样我就可以自己管理讨论线程。我在 Digging Into WordPress 上将它发布为我的 WordPress 愿望 之一。仅仅一天后,一位名叫 Utkarsh Kukreti 的开发人员通过电子邮件发送了 WordPress 功能/隐藏评论插件的 1.0 版本。这是 存储库中的插件,这是 Utkarsh 的公告帖子

这个全新的插件的功能(顺便说一下,仅限 WP 2.9 及更高版本)是在管理区域查看评论时添加新的可点击选项。

这些选项在查看单个评论时也有效。您可以设置、隐藏,当然也可以取消设置和取消隐藏。

点击设置或隐藏会将该评论元数据应用于评论,然后以如下方式与其余类名一起输出

应用于评论输出的类名。

它实际上就是做这些。它为您提供了可以使用类的名称。钩子,我的朋友们。钩子,您可以使用这些钩子来应用独特的样式,以使用 JavaScript 进行定位,从而根据您对网站的需求适当地“设置”或“隐藏”它们。

我仍在思考如何在 CSS-Tricks 上处理这个问题,但我将向您展示我到目前为止所做的工作。当我设置一条评论时,我只将其变成蓝色。一个非常小的简单更改,但请记住,我们这里唯一的目标是将评论稍微区分开来,以吸引浏览者的注意。

CSS 使用这里的类钩子将设置的评论颜色简单地更改为蓝色。

对于隐藏的评论,我会隐藏评论的文本和用户 Gravatar,并使用不透明度将其淡化。评论并没有消失,只是在页面加载时基本上成为一个幽灵。如果有人想阅读评论,他们只需点击它,它就会展开到正常视图。

为什么要隐藏而不是删除?好吧,我仍然会进行一些删除操作,尤其是对于粗鲁的评论,但有些评论并不粗鲁,只是对对话没有帮助。比如,“不错帖子!”(很明显不是垃圾邮件),我会隐藏这类评论。

jQuery 中的幽灵化操作

$("li.buried").each(function() {
  
    $el = $(this);
    
    $el.find(".avatar").hide();
    $el.find("p").hide();
  
  }).click(function() {
  
    $el = $(this).animate({ opacity: 1 });
    
    $el.find(".avatar").slideDown();
    $el.find("p").slideDown();
  
});

……同样,我不确定这是否是最佳解决方案,也不确定我会保留它多久,但我确实喜欢设置/隐藏系统,并打算保留它。我只是在考虑它的视觉设计部分。一个问题是,幽灵化的评论没有指示如何展开它们。我宁愿不要文本解释(更喜欢更自然的东西),也不确定是否想给它一个鼠标悬停状态。也许只是一个指针光标,我不知道。

那些走在前面的人……

自从网上对话开始以来,人们就一直在思考如何管理网上对话。以下是一些早期的想法和工作。

里程碑

Jason Santa Maria 撰写了关于 “培养对话” 的文章,并在开篇就很好地总结了这个问题

我访问一个网站并阅读了一篇文章。哇,太棒了。我想评论并向作者提个问题。我向下滚动……384 条评论。啊,算了。

他建议使用“里程碑”理念。快速文本片段来总结发生了什么以及标题是什么。好主意,但需要做很多工作。

Jason Santa Maria 的“里程碑”示例

灵感来源

Dunstan Orchard 在 七年前 就对评论添加一些元信息的想法进行了思考,例如评论的灵感来源以及这条评论启发了哪些其他评论。这与嵌套类似,只是没有嵌套。我不确定我是否喜欢这个想法(好吧,我有点喜欢,但我认为它会增加太多视觉上的混乱)。

Dunstan 的另一个想法是在回复评论时添加一个复选框选项,即“将您的评论通知(原始评论者)”。这会向原始评论者发送电子邮件,让他们知道他们的评论得到了回复。

Dunstan Orchard 关于启发/被启发的评论以及通知原始评论者的想法。

我确实喜欢这个想法,因为我认为普遍的观点是,人们想知道自己的想法是否有回应。但这需要某种选择加入机制,因为肯定有一些人不希望收到通知。

Digg

Digg 尝试通过使用 Digg 模型本身的缩影来改进其评论线程。用户可以对单个评论进行点赞或踩。下踩次数过多的评论将从常规浏览中隐藏,除非读者明确选择查看它们。这是一个相当不错的解决方案,但这给网站用户带来了很大的压力。更不用说你需要一个相当庞大的受众群体才能让它发挥作用。

据推测,这里中间的评论不值得阅读,正如其他 Digg 用户所判断的那样。我认为这可能对 Digg 评论线程有所帮助,但它们仍然很糟糕。

评论聚合器

Intense DebateDisqus (如上) 这样的评论系统提供了类似的系统。用户可以在 Disqus 中点赞评论,或在 Intense Debate 中点赞/踩,然后按不同的选项排序,包括最佳评分。

费力

如果你想策划一个对话,一种方法是卷起袖子,自己策划。罗杰·埃伯特通过审核自己的评论并在需要时插话来做到这一点。

罗杰·埃伯特在他的博客评论中插话(示例)只是通过在评论中添加他自己的粗体文字。简单但出奇地有效。我记得 Smashing Magazine 以前也这样做过,那时。

当然,请在这里分享您关于策划评论线程的想法和见解。以下对话将被审核 =)