我不认为有明确的答案(可能会有一些旧的讨论被埋没在门票中),但我可以提供一些历史观点。
WordPress没有使用自定义帖子类型启动。他们加入的时间相对较晚。虽然它们是模仿本地post类型的,但它们仍然是一种特例。
因此,这种拆分的概念已经存在了——post数据存储在数据库中,控制它的逻辑存储在运行时代码中,甚至在CPT存在之前。
此外,WP挂钩系统和插件激活/停用也支持运行时代码方法。在插件中实现激活/停用有点笨拙,大多数插件根本不需要这些例程。很长一段时间以来,主题甚至没有一种方法来运行激活/停用逻辑,而没有一些创造性的黑客。
此外,后期注册包含本地化字符串,WP本地化工作流通过从源代码中提取字符串来工作。将这些字符串存储在数据库中需要有两个不同的工作流来编译本地化字符串列表。以及在更新时使他们的更改变得非常复杂。
简而言之,该实现与WP历史和典型实践完全一致。