通过子主题完全改变自定义帖子类型

Posted

技术标签:

【中文标题】通过子主题完全改变自定义帖子类型【英文标题】:Completely changing custom post type through child theme 【发布时间】:2015-01-21 17:27:15 【问题描述】:

我有一个具有自定义帖子类型(称为“菜单”)的 Wordpress 主题。我想通过子主题将名称、标签、标签等更改为“食谱”。我可以轻松更改标签,但如果我更改 slug,它会弄乱与“菜单”自定义帖子类型相关的所有模板、自定义功能等。有没有办法让我重写任何引用“菜单”CPT 的函数/模板以指向“食谱”CPT?

谢谢!

【问题讨论】:

【参考方案1】:

在我个人看来,最好的方法是简单地注册一个新的帖子类型。如果您更改自定义帖子类型名称,则必须将使用该名称的每个实例更改为新名称,如果父主题中有无法覆盖或不可过滤的函数怎么办。

请记住,自定义帖子类型应该在插件中,而不是在主题中。

这是我的想法。在自定义插件中执行以下操作:

创建一个名为 recipes 的自定义帖子类型。如果您需要更改已经在其他帖子类型中的帖子,只需下载一个可以将帖子的帖子类型更改为其他帖子类型的插件

将所有需要更改的功能复制到插件中。重命名它们并根据需要进行修改。

这将确保当您更改主题时,您不会丢失您的帖子类型

【讨论】:

以上是关于通过子主题完全改变自定义帖子类型的主要内容,如果未能解决你的问题,请参考以下文章

从 Wordpress 取消注册自定义帖子类型

Wordpress - 从自定义帖子类型中删除子菜单

PHP 仅显示父自定义帖子类型的子帖子,而不是所有子帖子

php 完全自定义帖子类型(分类)

php 删除自定义帖子类型子菜单页面。

在函数文件中更改自定义帖子类型 slug