问题描述

我开始开发一个拥有十几种自定义帖子类型的网站。我想重命名其中的几个,而不仅仅是显示值,而是实际的自定义帖子类型名称。然而,我担心,只需运行一个 SQL 更新查询,我会想念一些我需要更改或覆盖部分序列化数据的地方。我已经输入了 3000 多个项目,所以我不能用一个干净的数据库重新启动。

什么是重命名自定义帖子类型的最佳方法?如何重命名分类?

最佳解决方案

重新命名帖子的 SQL 查询:

UPDATE  `wp_posts` SET  `post_type` =  '<new post type name>' WHERE  `post_type` = '<old post type name>';

重命名分类法的 SQL 查询:

UPDATE  `wp_term_taxonomy` SET  `taxonomy` =  '<new taxonomy name>' WHERE  `taxonomy` = '<old taxonomy name>';

这应该照顾所有的数据库区域。只需记住匹配在注册了帖子类型或分类法的代码中的新名称。据我所知,这并不是在任何插件中处理的。

次佳解决方案

嗨 @Derek Perkins:

一般来说 @John P Bloch 的答案是现实的,但有一个警告。插件甚至自定义主题可以并且可以存储帖子类型信息,从而确保您不会破坏您需要的数据,以确保您的插件和主题不存储帖子类型,或者如果它们更新他们的数据以及。

你能告诉我们你正在使用什么插件?

第三种解决方案

如果您不想自己手动执行 SQL 查询,则可以使用几个插件:

我已经成功地使用了 Convert Post Types 来修改帖子。

为了转换 invididual 的帖子,那么 Post Type Switcher 是一个更好的选择。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。