it-swarm.cn

重命名自定义帖子类型和分类

我开始开发一个包含十几种自定义帖子类型的网站。我想重命名其中一些,不仅仅是显示值,还有实际的自定义帖子类型名称。但我担心只是运行SQL更新查询,我会错过一些我需要更改内容或覆盖部分序列化数据的地方。我已经输入了超过3,000个项目,因此我不能只使用干净的数据库重新启动。

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

31
Derek Perkins

用于重命名帖子的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>';

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

46
John P Bloch

@Derek Perkins:

一般来说 @John P Bloch的回答是 但有一点需要注意 。插件甚至自定义主题都可以存储帖子类型信息,因此为了确保您不会损坏您需要的数据,以确保您的插件和主题不存储帖子类型,或者如果他们这样做,您更新他们的数据同样。

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

6
MikeSchinkel

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

我已成功使用 转换帖子类型 到批量更改帖子。

对于转换invididual帖子然后 Post Type Switcher 是一个更好的选择。

4
Adam Dempsey