# 确认删除帖子 – 删除前添加确认对话框

**URL:** https://meta.discourse.org/t/confirm-delete-post-add-a-confirmation-dialog-before-deleting-posts/408504
**Category:** Theme component
**Created:** [2026年七月25日 08:26 UTC](https://meta.discourse.org/t/confirm-delete-post-add-a-confirmation-dialog-before-deleting-posts/408504 "2026-07-25T08:26:25Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![scavin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/scavin/32/115938_2.png) [@scavin](https://meta.discourse.org/u/scavin)
#### Post date: [2026年七月25日 08:26 UTC](https://meta.discourse.org/t/confirm-delete-post-add-a-confirmation-dialog-before-deleting-posts/408504/1 "2026-07-25T08:26:25Z")

</div>

| | | |
| --- | --- | --- |
| ℹ | **简介** | 一个轻量级主题组件，在删除帖子前请求确认 |
| 🛠 | **代码仓库** | [GitHub - scavin/discourse-confirm-delete · GitHub](https://github.com/scavin/discourse-confirm-delete) |
| ❓ | **安装指南** | [如何安装主题或主题组件](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682) |
| 📖 | **Discourse 主题新手？** | [Discourse 主题使用入门指南](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) |

安装此主题组件

我分享一个小型主题组件，它在删除帖子前增加了一个确认步骤。

默认情况下，点击删除按钮会立即执行 Discourse 的标准删除操作。此组件首先显示 Discourse 原生的危险确认对话框，有助于防止意外删除。

## 它有什么作用？

当用户点击帖子上的 **删除** 按钮时，该组件会显示一个确认对话框：

> **删除帖子**  
> 您确定要删除此帖子吗？

可用的操作有：

- **取消** — 关闭对话框，不执行任何操作
- **删除** — 继续执行 Discourse 原有的删除操作

## 主要特性

✅ 使用 Discourse 原生对话框 UI  
✅ 使用红色危险风格的删除按钮  
✅ 保留 Discourse 原有的删除行为  
✅ 不更改权限检查  
✅ 不修改 Discourse 核心代码  
✅ 无需插件  
✅ 不使用 jQuery 或 `window.confirm()`  
✅ 不进行 DOM 点击模拟  
✅ 支持桌面端和移动端  
✅ 提供英文和简体中文翻译  
✅ 其他语言回退至英文  
✅ 管理员可通过主题翻译覆盖文本

## 工作原理

该组件使用 Discourse 官方前端 API：

- `apiInitializer`
- `post-menu-buttons` 值转换器
- 内置的 `dialog.deleteConfirm()` 服务

它将帖子菜单中的删除按钮组件替换为一个小型包装器。确认后，包装器调用原始的 `deletePost` 操作。

这意味着该组件不重新实现删除功能，不发出自己的 API 请求，也不绕过 Discourse 现有的授权逻辑。

## 安装后：

1. 在 **管理 → 自定义 → 主题** 中打开该组件
2. 将其添加到需要启用的主题中
3. 刷新主题页面
4. 点击帖子上的删除按钮以测试确认对话框

 ![CleanShot 2026-07-25 at 15.29.33@2x](https://global.discourse-cdn.com/meta/original/4X/5/6/5/565da294e3384e5535d197fae300e1a449990e18.png)

## 翻译

该组件目前包含：

- 英文 (`en`)
- 简体中文 (`zh_CN`)

对话框标题、消息、取消按钮和删除按钮均使用主题翻译键。欢迎提供更多翻译。

## 兼容性

专为使用现代 Glimmer 帖子菜单和插件 API 的当前 Discourse 版本设计。

希望这个小组件能帮助防止意外删除帖子。欢迎反馈、错误报告、翻译和建议！ 🙂

---

_[View the full topic](https://meta.discourse.org/t/confirm-delete-post-add-a-confirmation-dialog-before-deleting-posts/408504)._
