# 点赞，两次

**URL:** https://meta.discourse.org/t/thumbs-up-twice/240867
**Category:** Bug
**Tags:** reactions, post-voting
**Created:** [2022年十月4日 09:37 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867 "2022-10-04T09:37:36Z")
**Posts on this page:** 10
**Page:** 2

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2022年十月21日 16:19 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/22 "2022-10-21T16:19:45Z")

</div>

> [@JammyDodger](#):
>
> 在那个[安全模式](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504)版本中它还起作用吗？

我在我的测试站点上检查了。是的，它不被算作官方的。但是我也测试了这个 Reactions + Upvotes + New like button 组件组合，它对我来说就像你所说的那样工作。🤔

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2022年十月21日 16:24 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/23 "2022-10-21T16:24:26Z")

</div>

您可以尝试逐一禁用这些非官方插件，以找出冲突所在 🙂

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2022年十月21日 16:30 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/24 "2022-10-21T16:30:08Z")

</div>

> [@Don](#):
>
> 你能尝试在管理员那里逐一禁用这些非官方的吗？

已经试过了——没用。唯一有效的方法是禁用“点赞”。

我尝试了一个没有任何组件的主题，但没有帮助。但我不知道 Discourse 有多复杂，是否可以那样测试。

嗯，肯定有些地方出了点问题。我将先在没有“点赞”的情况下重建，然后再重新启用“点赞”进行重建。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2022年十月21日 19:44 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/25 "2022-10-21T19:44:12Z")

</div>

我终于可以复制这个了。 🙂 但只能在我自己的网站上。看起来 Discourse Upvotes 和 Discourse Reactions 之间存在冲突。

我认为可能是 Upvotes 中的这个移除点赞按钮的代码

> <https://github.com/discourse/discourse-post-voting/blob/c3527defe2abb18907b58eec110b42b0bc911447/assets/javascripts/discourse/initializers/qa-edits.js#L12-L18>

覆盖了 Discourse Reactions 的代码。

> <https://github.com/discourse/discourse-reactions/blob/8bdbc4af68ddaced74b66aaf4046236ce3ff713c/assets/javascripts/initializers/discourse-reactions.js#L14>

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2022年十月21日 19:51 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/26 "2022-10-21T19:51:37Z")

</div>

太好了。我开始怀疑我的精神健康和我的基本设置了 🤣

我已经重建了两次，一次有 Upvotes，一次没有，都没有成功。我禁用了所有插件，没有解决。我删除了所有组件和主题，都没有成功。

总是同样的问题：Upvote 或 Reactions，但不能同时使用。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2022年十月21日 20:05 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/28 "2022-10-21T20:05:46Z")

</div>

但是，您可以用组件覆盖它以删除额外的默认点赞按钮。

将此添加到 Common / Header

```xml
<script type="text/discourse-plugin" version="0.8">
  api.removePostMenuButton("like");
</script>

```

如果您想在点赞主题上启用反应按钮，可以将此添加到 Common / CSS

```scss
.qa-topic,
.qa-topic-sort-by-activity {
  .discourse-reactions-actions {
    display: inline-flex;
  }
}

```

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2022年十月21日 20:32 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/29 "2022-10-21T20:32:12Z")

</div>

我可以点多个赞吗？

谢谢！它奏效了。是的，这是一个快速的修复，但我并不介意，因为我是一个非常务实的人。也许这就是为什么我不写代码或做开发的原因 🤣

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2022年十月27日 13:45 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/31 "2022-10-27T13:45:31Z")

</div>

我已经成功地重现了这个问题。 🎉 🙂

嗯，我炸毁了我信赖的测试站点，不得不重新创建一个。 🙂 但它确实现在显示了两个“心”，而只有一个应该出现：

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/f/e/9fe7447331b927185450ff3035597f828c117506.png)

“Reactions” + “Upvotes”似乎是关键组合。

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [2022年十月28日 11:36 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/32 "2022-10-28T11:36:06Z")

</div>

在此修复。很快就会上线！

> <https://github.com/discourse/discourse/pull/18788>
>
> When we have multiple plugins triggering
> 
> \`\`\`
> api.removePostMenuButton("like"…, () =\> x);
> \`\`\`
> 
> the last plugin that makes the call gets to decide if the post menu button is removed or not. This change makes it such that we will evaluate all callbacks rather than just rely on the last one.
> 
> Essentially, we ended up with duplicate like buttons when the discourse-upvotes plugin evaluates after discourse-reactions.
> 
> \<img width="354" alt="Screenshot 2022-10-28 at 7 33 19 PM" src="https://user-images.githubusercontent.com/1555215/198577684-add9e90d-7523-4595-8680-216add1cfe84.png"\>
> 
> 
> Related: https://meta.discourse.org/t/thumbs-up-twice/240867/

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2022年十二月1日 12:16 UTC](https://meta.discourse.org/t/thumbs-up-twice/240867/33 "2022-12-01T12:16:26Z")

</div>



[上一頁](https://meta.discourse.org/t/thumbs-up-twice/240867.md?page=1)
