将数组存储到 WordPress 数据库

Posted

技术标签:

【中文标题】将数组存储到 WordPress 数据库【英文标题】:Store an array to WordPress database 【发布时间】:2019-03-25 23:08:40 【问题描述】:

我创建了一个托管在 WordPress 网站中的应用程序,该应用程序允许自定义页面上的所有内容。当用户单击保存时,如何将具有用户定义 ID 的数组存储到 WordPress 数据库?然后,用户可以转到他们的“自定义页面”页面并查看他们所有的自定义页面,这些页面以他们最初保存时设置的 ID 命名。单击他们的自定义页面之一时,它将加载可自定义的页面,其中包含与他们设置的 ID 关联的数组。

编辑

不再使用 JSON 编码方法。这就是我所在的位置。

var array = [];

$('img').click(function()
 var id = $(this).attr('id');
 array.push(id);

);

$('#sendQuote').click(function(e) 
  e.preventDefault();

$.ajax(
  url:"readJson.php",
  method: "post",
  data:  myBuild: JSON.stringify( array ) ,
  success: function(res)
    console.log(res);
  
)
);

ReadJson.php

$array = $_POST['myBuild'];
print_r($array);

global $wpdb;

将其发布到 wp_meta 或自定义表有什么想法吗?

【问题讨论】:

作者元或选项表应该没问题。自定义表格还有其他优点,我经常使用它们。只需找出最适合您的方法。 【参考方案1】:

你有两个选择。

使用json_encode将数组编码为json,然后使用json_decode对其进行解码

通过serialize 序列化数组并通过unserialize 反序列化

【讨论】:

这样做会导致无法查询数组中的某些项目。当然你可以把所有东西都拿出来然后过滤,但效率不高。这些也不是唯一的选择......可能最被接受的方式是将每个项目存储在自己的表中。 您绝对可以根据您正在搜索的数据对强 json 进行查询。您不能索引值,但可以搜索值。这取决于您需要什么,在这种情况下,它听起来像是配置变量的集合,通常不是您需要查询的一组值。 嗯,它真的取决于数据库。我至少知道使用 ms sql,json 存储为纯文本,因此失去了查询和搜索字段值的能力。 我们说的是 mysql 或 mariadb,因为它是 WordPress。但是您可以再次在数据库中查询 JSON 中的字符串,并且再次在请求提供的示例中,他无论如何都不需要查询值。他们只是存储配置。 您可以在数据库中查询 JSON 中的字符串....这就是您所能做的。你不能说“给我这个数组中值等于这个的对象”之类的话。关于mariadb的Idk,但mysql也是这种方式,您必须将json存储为纯文本。是的,我知道获取整个字符串很容易,但是将大型数据集存储为 json 将是一场噩梦。

以上是关于将数组存储到 WordPress 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何将WordPress远程附件存储到腾讯云对象存COS上

将结果添加到 WordPress 搜索结果中

使用 wordpress 插件存储 Json 值安全线程

将图像从GitHub上传到WordPress网站

Javascript将CSV文件加载到数组中

WordPress中的自定义表单并将值存储到自定义数据库中