你好!
有位读者向我指出了一些奇怪的地方。我在 Discourse 站点上的一条使用数字的评论 在 我的 WordPress 站点 上却显示为字母:
这是 Discourse 插件的已知问题吗?还是只是我的 WordPress 安装的问题?请告诉我。谢谢!
(同一位读者还感叹,Discourse 上的“折叠内容”插件无法同步到 WordPress,而且不清楚哪些评论是对哪些回复的。不过,我不确定前者是否有解决办法,而我知道后者已经在你们的关注列表中了。:))
你好!
有位读者向我指出了一些奇怪的地方。我在 Discourse 站点上的一条使用数字的评论 在 我的 WordPress 站点 上却显示为字母:
这是 Discourse 插件的已知问题吗?还是只是我的 WordPress 安装的问题?请告诉我。谢谢!
(同一位读者还感叹,Discourse 上的“折叠内容”插件无法同步到 WordPress,而且不清楚哪些评论是对哪些回复的。不过,我不确定前者是否有解决办法,而我知道后者已经在你们的关注列表中了。:))
我刚刚测试了这个问题,得到了和你相同的结果。其原因是 WordPress 对 ol ol(嵌套在有序列表中的有序列表)的默认样式:
ol ol {
list-style: lower-alpha;
}
由于 WordPress 的评论显示在有序列表内部,除非该样式规则被覆盖,否则它将应用于评论中的有序列表。可以通过以下方式覆盖:
ol ol {
list-style: decimal;
}
也许应该将此规则添加到插件的样式表中。
这与 Discourse 无关——这是您网站上的 CSS 规则。
我同意这一抱怨。该插件的设计初衷是从 Discourse 中提取“最佳”评论并同步到 WordPress,而非在 WordPress 上完整复刻 Discourse 的评论功能。不过,我认为这并非用户对该插件的普遍预期。我认为用户更希望的是,Discourse 评论能以类似于我们 JavaScript 嵌入代码所呈现的方式进行展示。关于这种展示效果的示例,请参阅 https://blog.codinghorror.com/why-cant-programmers-program/。
当使用 JavaScript 嵌入 Discourse 评论时,这些评论会通过 Discourse 提供的 iframe 显示在网站上。我在想,WP Discourse 插件是否应该增加一个选项,允许使用 Discourse 嵌入代码来显示评论。
采用嵌入式 JavaScript 方案的一个好处是,对评论嵌入功能的改进将适用于所有类型的网站,而不仅仅是 WordPress 站点。此外,如果 WP Discourse 插件“仅”显示嵌入式评论,将大幅降低插件代码的复杂度。
使用嵌入式评论的一个潜在缺点是,可能会导致 Discourse 站点的页面浏览量增加。除非最近有所变化,否则每个包含嵌入式评论的博客页面访问,都会被计入 Discourse 的页面浏览量。
我理解其中的吸引力,但……问题在于 Discourse 是一个极其沉重的依赖项——你仅仅为了显示一个静态评论列表,就要引入大约 1 兆字节的复杂解释型 JavaScript。这有点像用核弹打苍蝇。
我们之所以一直强调
我提议让 WordPress 插件以编程方式将我们的 JavaScript 嵌入代码添加到帖子中。我假设这与你博客上的做法类似。让插件将嵌入脚本附加到用户希望发布到 Discourse 的帖子上,其实非常简单。
为我们的嵌入代码添加功能是一个独立的问题。我认为我们不应该试图在 iframe 中重新实现 Discourse 的功能。我想解决两个不同的问题:第一个是处理评论的回复,第二个是处理 spoilers(剧透)、投票、日期等的显示。
你好,Simon!感谢你的快速回复。
我认为将列表样式建议添加到插件的样式表中是有意义的,但既然 @codinghorror 指出这可能不是你的专长,而我自己也乐于编辑 CSS,那么有没有办法仅将你建议的更改针对 Discourse 插件的样式进行应用?我不希望在全站范围内进行此更改,因为当前的行为在其他地方是合理的。
这确实不是我期望的行为,也不是我正在寻找的功能。我真的很希望能够在我的网站上显示某页面所有来自 Discourse 的评论。我尤其希望展示读者之间活跃的互动(即回复),就像在 Disqus 上那样,在我的 WordPress 站点页面上实现同样活跃的互动。
如果我理解正确的话,类似这样的方案可能大致符合需求。查看该示例,我并不能立即看出哪些是回复,但整体感觉确实更加流畅。我想,这部分归功于 CSS 样式,但 Discourse 评论看起来越功能化(且易懂、美观),我的读者就越可能认真对待 Discourse 并尝试使用它。
让我明确一下:我并不希望将 Discourse 的功能直接嵌入到我的 WordPress 站点中。它可以是一个带有指向我的 Discourse 安装链接的静态展示。但是,如果人们甚至无法快速理解谁在回复谁,他们就更不太可能点击前往。
正如我之前所说,我认为这是一个非常棒的插件,所以希望这听起来不像是在抱怨。但插件如果能更好地(即使是静态地)展示 Discourse 的出色与功能性,我的读者就越可能尝试使用 Discourse。同样,Discourse 对话越容易解析,效果也越好。
我承认,我并没有完全理解关于嵌入 JavaScript 的技术细节,但如果你认为这样可以使回复更加清晰,甚至实现隐藏剧透、显示投票等功能,那么我认为这将使 Discourse 社区的卓越之处对浏览我的 WordPress 站点的用户更加清晰。仅供参考,这是我的两点意见。
谢谢,Simon!