php - 为 Wordpress 存储自定义数据的最佳做法是什么

标签 php mysql wordpress

上下文:我需要为网站创建一个包含大量自定义项和多个字段(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/

相关文章:

python - 如何在不使用密码的情况下连接到 MySQL? (PyMySQL)

php - 在 wordpress 主题中添加 the_post_thumbnail 作为 CSS 背景

javascript - 当用户向下滚动我的网页 100 像素左右时淡出图像(向下箭头)

php - 通过xml向mysql数据库插入数据

mysql - 获取 SQL 中行的值或空条目

php - 使用 version_compare 对多维数组进行排序

mysql - 两个表的值相减并相乘

php - Wordpress/WooCommerce Hook 未触发?

php - MySql "IN"不影响重复值

javascript - 使用 $.ajax 请求将数据发送到服务器