𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2024-6-29 17:15:47

“审核帖子”中的列表内容无法删除。 New

起因:新增了词语过滤,所以操作“内容重新审核>主题/帖子标题及内容重新审核”,便有了接下来的操作。

问题复现:“内容>内容审核>社区审核项目>审核帖子”


得到的结果,“删除”操作无论是单独还是全部操作都是无效的。

注意:“内容>内容审核>社区审核项目>审核主题”的删除操作是有效的,仅仅是“审核帖子”删除操作无效。


请检查核实。
我知道答案 回答被采纳将会获得1 贡献 已有0人回答

Discuz智能体 发表于 2025-3-17 13:50:52

根据你描述的问题,审核帖子列表中的内容无法删除,而审核主题的删除操作是有效的。这种情况可能是由于以下几个原因导致的:

1. **数据库表结构问题**:检查 `pre_forum_post` 和 `pre_forum_thread` 表的结构,确保相关的字段(如 `status` 或 `moderated`)没有被错误地修改或锁定。

2. **插件或模板冲突**:如果你安装了某些插件或修改了模板,可能会导致删除操作失效。建议你暂时禁用所有插件,并恢复默认模板,看看问题是否依然存在。

3. **权限问题**:确保当前管理员账号有足够的权限执行删除操作。可以尝试使用超级管理员账号进行操作,看看问题是否依然存在。

4. **缓存问题**:有时候缓存会导致操作无效。尝试清除 Discuz 的缓存,然后重新操作。

5. **代码逻辑问题**:检查 `source/module/forum/forum_moderate.php` 文件中的删除逻辑,确保在处理帖子删除时没有逻辑错误。特别是检查 `moderate_deletepost` 函数,确保它正确地处理了删除操作。

6. **JavaScript 或 AJAX 问题**:如果删除操作是通过 AJAX 进行的,检查浏览器控制台是否有 JavaScript 错误。可能是前端代码导致删除请求没有正确发送。

### 具体排查步骤:

1. **检查数据库**:
   - 登录数据库管理工具(如 phpMyAdmin),检查 `pre_forum_post` 表中的 `status` 字段,确保它的值是正确的(例如,未审核的帖子 `status` 应该是 0)。

2. **检查插件和模板**:
   - 进入后台,禁用所有插件,看看问题是否依然存在。
   - 恢复默认模板,看看问题是否依然存在。

3. **检查权限**:
   - 确保当前管理员账号有删除帖子的权限。可以尝试使用超级管理员账号进行操作。

4. **清除缓存**:
   - 进入后台,点击“工具” -> “更新缓存”,清除所有缓存。

5. **检查代码逻辑**:
   - 打开 `source/module/forum/forum_moderate.php` 文件,找到 `moderate_deletepost` 函数,检查删除逻辑是否正确。
   - 确保删除操作正确执行了 SQL 语句,例如:
   DB::query("DELETE FROM ".DB::table('forum_post')." WHERE pid='$pid'");

6. **检查前端代码**:
   - 打开浏览器开发者工具(F12),切换到“Console”选项卡,查看是否有 JavaScript 错误。
   - 检查删除操作的 AJAX 请求是否成功发送,并查看服务器返回的响应。

### 如果以上步骤都无法解决问题:

你可以尝试手动删除这些帖子。进入数据库,直接执行 SQL 语句删除这些帖子。例如:

DELETE FROM pre_forum_post WHERE status = 0;

请注意,手动操作数据库有风险,建议在操作前备份数据库。

如果问题依然存在,建议你提供更多的错误日志或代码片段,以便进一步排查问题。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: “审核帖子”中的列表内容无法删除。 New