当前位置:首页 > AI技术 > 正文内容

如何清理WordPress的未用标签和分类 wp terms关联删除清理实战案例|Duuu笔记

admin6个月前 (03-31)AI技术150

安全清理WordPress未用标签/分类须严格按三步执行:先删wp_term_relationships中无对应文章的记录,再删wp_term_taxonomy中count=0且taxonomy为category或post_tag的记录,最后删wp_terms中无对应term_id的记录。

WordPress未用标签/分类为什么删不干净

直接执行

delete from wp_terms

会破坏数据库一致性,因为

wp_terms

表本身不存“是否被使用”的状态,它只靠

wp_term_taxonomy

wp_term_relationships

关联维系。你删了

wp_terms

里的某条记录,但对应

wp_term_taxonomy

还在,甚至可能指向一个不存在的

term_id

,后续后台编辑分类、调用

get_terms()

都可能报错或返回空。

安全清理的三步关联删除顺序

必须按依赖关系逆向清理:先清关系,再清分类元数据,最后清术语本身。顺序错一步,就会留下孤儿记录或触发外键约束(如果启用了 InnoDB 外键)。

第一步:删掉所有没被任何文章/页面/自定义类型引用的

term_taxonomy_id

关联 —— 即清空

wp_term_relationships

中无人认领的项

第二步:删掉

wp_term_taxonomy

count = 0

taxonomy IN ('category', 'post_tag')

的记录(注意:不要删

nav_menu

post_format

类型,它们逻辑不同)

第三步:删掉

wp_terms

中那些

term_id

不再出现在任何

wp_term_taxonomy.term_id

里的行(即已无分类/标签元数据挂载的术语)

SQL语句怎么写才不翻车

别手写 DELETE 嵌套子查询去一次清完——MySQL 5.7+ 对同一张表的子查询 DELETE 有限制,容易报错

You can't specify target table for update in FROM clause

。分三步执行更稳:

DELETE tr FROM wp_term_relationships tr

LEFT JOIN wp_posts p ON tr.object_id = p.ID

WHERE p.ID IS NULL;

DELETE tt FROM wp_term_taxonomy tt

WHERE tt.count = 0

AND tt.taxonomy IN ('category', 'post_tag');

DELETE t FROM wp_terms t

WHERE NOT EXISTS (

SELECT 1 FROM wp_term_taxonomy tt WHERE tt.term_id = t.term_id

);

执行前务必备份数据库;

wp_term_relationships

表很大时,第一条语句可能锁表较久,建议在低峰期操作。

插件和 WP-CLI 方案的隐藏风险

很多插件(比如 “Term Management Tools”)或 WP-CLI 命令(如

wp term list --format=ids --count=0

+

wp term delete

)看似方便,但它们默认只删

wp_term_taxonomy

wp_terms

,跳过

wp_term_relationships

清理。结果就是:前台查不到标签,后台却仍显示“× 个文章已关联”,点进去却 404 或空白——因为关系记录还在,只是对应的文章已被删或状态异常。

ima.copilot

腾讯大混元模型推出的智能工作台产品,提供知识库管理、AI问答、智能写作等功能

下载

真正干净的清理,绕不开直连数据库跑那三段 SQL。WP-CLI 的

wp term delete

只适合删单个明确无用的标签,批量清理时它不会自动判断是否“真没人用”。

最常被忽略的是:自定义文章类型、产品(WooCommerce)、问答(bbPress)等扩展可能注册了自己的 taxonomy,它们的

count

字段未必实时更新,得先运行

wp term recount

或对应插件的修复工具,否则

count = 0

不代表真没人用。

相关文章

推荐10个AI人工智能技术网站

除了研究和开发人工智能技术,OpenAI还积极参与人工智能伦理和安全的研究和探讨。 认为,人工智能技术的发展必须遵循伦理和法律的规范,以确保人工智能的应用不会对人类带来负面影响。...

跨平台机器学习:ML.NET架构及应用编程

平台上的一个机器学习框架,它提供了一套丰富的算法和工具,使得开发人员可以轻松地构建和部署机器学习模型。支持多种编程语言,包括等,这使得它成为跨平台机器学习的理想选择。的架构主要包括三个部分:数据读取、...

什么是人工智能 ?

您可以使用 ML 训练 AI,使其精确、快速地执行任务。这可以通过自动化员工感到吃力或厌烦的业务部分来提高运营效率。同样,您可以使用 AI 自动化来腾出员工资源,用于更复杂和更具创造性的工作。...

几种主要的神经网络

卷积神经网络的输入为二维的像素整阵列,输出为这个图片的属性,当网络训练学习后,所输入的图片或许经过稍微的变换,但卷积神经网络还是可以通过识别图片局部的特征而将整个图片识别出来。 :该层...

AI核心技巧:如何重置openclaw硬件设置 openclaw恢复出厂设置操作方法【操作】深度解析|Duuu笔记

重置 OpenClaw 配置有四种方法:一、交互式向导重置(openclaw onboard --reset);二、指定作用域的命令行重置(如--reset-scope config);三、手动删除~...

从入门到精通:前端开发之骡子快跑支持热点借势吗 骡子快跑节日营销文案生成|Duuu笔记

骡子快跑平台提供五步节日营销文案生成路径:一、调用内置32个节日模板库;二、输入热点事件触发动态生成;三、绑定自有素材库实现个性化延展;四、多角色视角协同输出;五、接入微信生态直发并校验合规性。 ☞...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。