上下文:我需要为网站创建一个包含大量自定义项和多个字段(20 多个)的表单,而不是安装插件并对其进行修改(或学习插件的 API)我决定编写自己的插件。由于我是从头开始做的,所以必须回答存储数据的问题。
大多数人会建议使用自定义帖子类型和元数据而不是自定义表格,虽然我熟悉自定义帖子类型和分类法等,但我想知道这是否最适合相当于日志的纯数据存储。
该表单是一次性使用的,我存储的数据无法在网站前端访问,只能在 WP-admin 上“查看”,而且很可能只是一个带有可过滤表。
所以问题是这是否保证使用自定义帖子类型和元数据,或者我应该只创建一个表并使用 $wpdb 类,因为这简化了 CRUD 并且仍然坚持“Wordpress 方式”做事。
阅读: This post为自定义表提供了一个很好的案例,特别是因为他们的示例是关于存储私有(private)数据的,因此出现了效率和隐私问题。 This question ,几年前的回答有相反的意见,但用例不同,因为存储的数据是为了公开展示。
最佳答案
我强烈建议使用一个单独的表。 WP 表 postmeta 通常充满了来自许多不同插件的大量信息,并且通常最终成为最大或最大的表在数据库中。
除此之外,如果保存在 postmeta 表中,它也将始终部分保存在 posts 表中,因为这两个表需要彼此才能连接和完成信息。因此,如果您要导出/导入到另一个数据库,您将不得不参与一个非常不愉快的过程,其中自定义帖子需要与上一个数据库中的 ID 相同
此外,如果在一个单独的表中,数据很容易访问,即使从 phpmyadmin 也应该很容易读取,如果您只有基本的 sql 知识,使用 $wpdb 类编写可过滤表应该很容易。
所有这些都来 self 最近将 2 个大型 wordpress 网站合并为一个网站并将大量信息保存为 postmeta 的经验......我真的希望其中大部分都保存在自定义表格中,因为它会使我的生活轻松多了。
使用元和自定义帖子类型的唯一原因是它更快更容易(至少以我的经验)。希望这会有所帮助,我真的很想看看是否还有其他意见。祝你的项目好运!
关于php - 为 Wordpress 存储自定义数据的最佳做法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42297933/