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