更改主题后,自定义帖子类型会丢失吗?


8

我将要开始自定义WordPress主题的工作,我想知道我对自定义帖子的谨慎程度。假设我创建了一个WordPress主题,该主题注册了几种自定义帖子类型。据我了解,这是在激活主题时发生的。

如果我要创建这种自定义类型的多个帖子,然后更改为没有该自定义帖子类型的主题,我会完全丢失这些帖子吗?

如果我更改为DID具有相同自定义帖子类型的另一个主题(如果可能)怎么办,它们仍将存在?

此外,与自定义分类法相关的这些相同问题又如何处理?如果我更改为不支持自定义分类法的其他主题,则自定义帖子中的分类法数据将丢失(甚至保存)。定制分类法的数据是否仍然存在?


1
帖子是数据库驱动的。所有数据都应该在那里。经验是我改变了主题六次。可以将主题视为查看帖子的一种方式。
肖恩2014年

如果自定义帖子类型在主题文件夹本身中定义,并且您决定停用它,则您的帖子类型将为“隐藏”,直到您重新激活该主题。帖子类型仍将在数据库内部,尽管上面的注释中指出。
Howdy_McGee

“据我所知,这是在激活主题时发生的”-它发生在运行时,即执行代码时,即每次页面加载。
Andrew Bartel 2014年

1
我曾经在主题函数文件中注册了CPT,但是已经开始在mu-plugins文件夹中创建它们。如果更改主题,则必须添加模板以显示与CPT相关的自定义字段,但是CPT在管理区域中仍然可见。
Ray Gulick 2014年

Answers:


9

你什么都不会丢失。您所有的自定义帖子,分类法,术语及其关系仍在数据库中。但是,如果不进行注册,就无法访​​问数据,如WordPress编辑页面或自定义查询等。


5

正如其他人提到的那样,如果将来切换主题,所有数据仍将保留在数据库中,但将无法访问。

因此,我想创建一个功能插件,其中包括我所有的自定义帖子类型,分类法和短代码。您甚至可以设置在Wordpress安装中始终启用的必须使用的插件。贾斯汀·塔德洛克(Justin Tadlock)写了一篇有关创建自定义函数插件的文章,非常值得一读。


4

您应该做的是为您的自定义代码创建特定于站点的插件或子主题,其中包括用于注册自定义帖子类型和自定义分类类型的代码。

然后,您可以将代码与任何父主题一起使用。

如前所述,所有内容都不会丢失,而是全部存储在数据库中,但显然不会显示在WordPress的后端,除非您使用的代码具有与以前在新主题中注册时使用的相同的CPT和税名。


2

当您更改主题并且新主题没有相同的自定义帖子类型时,将不会为新主题显示它。但是,如果您只是从旧主题中复制自定义帖子类型的代码,然后将其粘贴到新的theme function.php文件中,则可以轻松取回它。不会丢失任何数据。

在新主题上显示自定义帖子类型可能还有另一个问题。但是可以保证不会丢失任何数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.