实时站点上的自定义 post 类型和自定义字段 - 插件或代码?

Custom post types & custom fields on a live site- plugins or code?

这有点含糊,如果不够具体,请见谅。

我目前管理着一堆 wordpress 网站,这些网站通常需要一组自定义 post 类型和字段。目前这是使用 ACF Pro 和自定义 Post 类型 UI 插件实现的 - 尽管我过去使用过工具集类型 - tomato/tomato

当我从分期转移到生活时,我倾向于保持原样,以防需求发生变化,而他们经常这样做。我要问的是,实际上只是将这些位的代码导出到 functions.php 或类似的主题中是否有任何性能/安全性/其他好处?或者在现场环境中使用这种插件本身没有错吗? 我的最终目标是提高安全性和速度,虽然还有很多其他因素会影响这一点,但我对这方面特别感兴趣。

将逻辑转移到主题文件的主要好处之一是您可以在版本控制中看到更改和更新,因为当您使用 ACF 和 CPT UI 插件时,所有更改都将反映在数据库中,如您所知,没有简单的方法来对数据库进行版本控制。

此外,WordPress 不需要每次打开网页时都去数据库查看您注册了哪种 post 类型,因此这可以被视为次要的性能优势。

如果你使用 ACF,你也可以使用 ACF local JSON functionality

这会将您所有的自定义字段架构保存到您服务器上的 JSON 文件中,您可以在您的版本 control/backups 中看到对自定义字段所做的所有更改等

在现场使用这些插件并没有错,尤其是 ACF,因为它可以帮助您以更舒适的方式显示和查询您的自定义字段,但您希望能够对您的更改进行版本控制和备份。

至于 CPT UI,在创建自定义 post 类型的初始结构后,您并不真正需要它的功能,它只是每次您更新和查询数据库的附加插件加载您的管理面板。此外,您永远无法确定插件是否存在漏洞,考虑到安全因素,您始终希望将插件数量保持在最低水平。