gpt4 book ai didi

php - 如何通过ajax调用获取wp_usermeta中的meta_key及其meta_value(json格式)

转载 作者:行者123 更新时间:2023-11-29 02:56:51 25 4
gpt4 key购买 nike

在 Wordpress 中,我在主题编辑配置文件页面中创建了一些自定义字段,其中之一允许我输入用户地址。该地址自动存储在表 wp_usermeta 下的 WordPress 数据库中。 (自定义字段称为 user_address)。

在 wp_usermeta 中,名为 meta_key 的列的值为“user_address”。但我试图收集的内容是它的 meta_value 等价物。

截图:

enter image description here

这里是我的 php 代码,用于将数据转换为 JSON 格式:

...... 
$row=$db->prepare('select * from wp_usermeta');
......

foreach($row as $rec)//foreach loop
{
$json_array['meta_key']=$rec['meta_key'];
array_push($json_data,$json_array);
}

来自 JS 文件:

request('file.php', function(data) {

var data = JSON.parse(data.responseText);

for (var i = 0; i < data.length; i++) {
console.log(data[i].meta_key);
}
........

我的问题就在这里。从 data[i] 我需要获取所有“user_address”(在 meta_key 内)和存储在 meta_value 中的等效值,如上面的屏幕截图所示,但不幸的是我不知道如何获取它。我可以获得所有的 meta_key 值,但我不知道如何将 user_address 关联到 meta_value。

我试过:

data[i].meta_key.user_address.meta_value
data[i].user_address.meta_value
data[i].meta_key[user_address].meta_value
data[i].meta_key['user_address'].meta_value

有什么建议吗?谢谢

最佳答案

好的,所以你表中的 user_address 不是键,它是 meta_key 的值。从逻辑上考虑,您的最终结果是您想要 meta_keymeta_value 具有 user_address 的值。

一种方法是将 php 中的 foreach 循环更改为:

foreach($row as $rec)
{
$json_array[$rec['meta_key']]=$rec['meta_value'];
array_push($json_data,$json_array);
}

现在,如果您转储该数组,它将如下所示:

array(
...
[10] => array (
'user_address' => '26 Aorile Costo'
),
...
)

并且您可以在 javascript 中使用 data[i].user_address 引用它

您也可以去掉 array_push,只输出 $json_array,这样您就不必在 javascript 中遍历数组,并且可以简单地引用它作为 data.user_address,因为数组转储现在看起来像:

array(
...
'user_address' => '26 Aorile Costo',
...
)

关于php - 如何通过ajax调用获取wp_usermeta中的meta_key及其meta_value(json格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com