Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为Wordpress存储自定义数据的最佳实践是什么_Php_Mysql_Wordpress - Fatal编程技术网

Php 为Wordpress存储自定义数据的最佳实践是什么

Php 为Wordpress存储自定义数据的最佳实践是什么,php,mysql,wordpress,Php,Mysql,Wordpress,上下文:我需要为一个站点创建一个包含大量自定义项和相当多字段(20+)的表单,而不是安装插件并修改它(或学习插件的API),我决定编写自己的插件。因为我是从头开始做这件事,所以必须回答存储数据的问题 大多数人会建议使用自定义的post类型和元数据,而不是自定义的表。虽然我熟悉自定义的post类型和分类法等,但我想知道这是否最适合作为日志的纯数据存储 表单是一次性的,我存储的数据在网站前端无法访问,只能在WP admin上“查看”,很可能只是一个带有可过滤表的页面 所以问题是,这是否保证使用自定义

上下文:我需要为一个站点创建一个包含大量自定义项和相当多字段(20+)的表单,而不是安装插件并修改它(或学习插件的API),我决定编写自己的插件。因为我是从头开始做这件事,所以必须回答存储数据的问题

大多数人会建议使用自定义的post类型和元数据,而不是自定义的表。虽然我熟悉自定义的post类型和分类法等,但我想知道这是否最适合作为日志的纯数据存储

表单是一次性的,我存储的数据在网站前端无法访问,只能在WP admin上“查看”,很可能只是一个带有可过滤表的页面

所以问题是,这是否保证使用自定义post类型和元数据,还是我应该创建一个表并使用$wpdb类,因为这样可以简化CRUD,并且仍然坚持“Wordpress方式”进行操作


阅读:为自定义表提供了一个很好的例子,特别是因为他们的示例是关于存储私有数据的,因此出现了效率和隐私问题,几年前回答的问题有相反的观点,但用例不同,因为存储的数据是供公众显示的。

我强烈建议使用一个单独的表。WP表POSTETA通常包含来自许多不同插件的大量信息,而且常常会成为数据库中最大的表。

除此之外,如果保存在POSTETA表中,它也将始终部分保存在posts表中,因为这两个表需要彼此连接并完成信息。因此,如果您要导出/导入到另一个数据库,您将不得不参与一个非常不愉快的过程,其中自定义帖子的ID必须与上一个数据库中的相同

此外,如果数据位于一个单独的表中,那么它很容易访问,甚至从phpmyadmin中也应该很容易读取,如果您只有基本的sql知识,那么使用$wpdb类编写一个可过滤的表应该很容易。

所有这些都来自我最近将两个大型wordpress网站合并为一个网站的经验,并且有很多信息保存为PosteTa。。。我真的希望它的大部分都保存在一个自定义表中,因为这样会使我的生活更轻松。


使用meta和自定义post类型的唯一原因是它更快、更容易(至少在我的经验中是这样)。希望这有帮助,我真的很有兴趣看看是否有其他意见。祝你的项目好运

在大多数情况下,在元数据中使用自定义的post类型既简单又酷,因为它可以快速完成,并且您可以使用所有很酷的wordpress函数

最好在数据库中使用新表的情况是,您必须保存大量数据,即访问日志或类似数据


WooCommerce(wordpress人员的插件)将产品保存为CPT,所有属于它的数据保存为元数据。

有趣的问题

我通常(正如您所提到的)使用定制的post类型和分类法来处理这种情况。所以这就是我的方法,我唯一有点害怕的是你提到的地方“.相当于一个日志…”

我敢肯定,你最好使用一张单独的桌子,它只是吸吮工作通过邮递表。最后,如果您知道如何使用$wpdb类,您应该会很好


期待其他人的投入

很好,你提到woocommerce,你对woocommerce组织数据的方式感到满意吗?我知道它符合wordpress标准,但在某些情况下,我希望它能以不同的方式构建。是的,我很满意。我已经用自己创建的导入脚本导入了多个XML目录,这些脚本使用常用的wordpress函数来存储所有产品数据。至少我店里有5000多种产品,而且感觉很好;)我想你需要大量的流量来开始担心效率,即使这样,在你需要查看一个全新的结构之前,你也可以通过代码、服务器和数据库来做一些事情。关于安全和隐私,与使用WP相对成熟且经过测试的系统的一百万其他网站相比,您的情况有什么特别之处吗?使用您的网站时,如果具有特定角色和权限的用户以某种方式获得了对不允许他们查看的数据的访问权。。。好吧,你必须看看你的插件和主题,找出原因/方式。如果你担心黑客侵入数据库或服务器文件。。。这一直是个问题,可能有比WP更好的系统。