Php 在add_post_meta中存储Json值
如何在add_post_meta中存储此Json值Php 在add_post_meta中存储Json值,php,json,wordpress,variables,Php,Json,Wordpress,Variables,如何在add_post_meta中存储此Json值 $offer_name= $item['data'][$i]['Offer']['name']; add_post_meta($post_id, 'offer_name', $offer_name); 不会存储$offer_name的json值,但会存储普通字符串 更新1:我就是这样测试的 案例1//使用json时,不会存储该值 $offer_name= $item['data'][$i]['Offer']['name'];
$offer_name= $item['data'][$i]['Offer']['name'];
add_post_meta($post_id, 'offer_name', $offer_name);
不会存储$offer_name的json值,但会存储普通字符串
更新1:我就是这样测试的
案例1//使用json时,不会存储该值
$offer_name= $item['data'][$i]['Offer']['name'];
echo $offer_name; // the value gets echoed .
add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name doesn't get stored
$offer_name="My Name";
add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name does get stored
案例2//如果不使用json,则会存储值
$offer_name= $item['data'][$i]['Offer']['name'];
echo $offer_name; // the value gets echoed .
add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name doesn't get stored
$offer_name="My Name";
add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name does get stored
更新2:如果我将json数据存储在“{}”中,那么该值将存储在WordPress中
$offer_name ="{$item['data'][$i]['Offer']['name']}";
add_post_meta($post_id, 'offer_name', $offer_name);
提前感谢您需要使用。这将返回一个JSON格式的字符串,您可以使用它保存在数据库中
请注意,对于ë、–、Æ等字符,在试图将其保存到数据库中之前,应该在JSON编码的字符串上使用。这样,一旦您解码了JSON字符串,这些特殊字符就可以被正确地看到
(是的,这是非常旧的,但我自己正在搜索一些东西,并想为什么不呢?那么,JSON值还是字符串?您希望发生什么?如果我回显$offer\u name,它将显示回显值。但它不会存储在自定义字段中。。但是如果存储一个字符串,例如=$offer_name'my name';值存储在自定义字段中。这似乎很奇怪:我认为问题不在于JSON本身,因为
add\u post\u meta()
将接受混合变量,这没有问题。您可能需要发布更多的代码。你如何检查它是否被存储?您只是在回显我们的文件,还是在使用print\u r()
或var\u dump()
?我使用了echo、print\u r()和var\u dump()。它显示了价值。。但是它不能存储在自定义字段中..我的意思是你如何检查它是否被存储?您需要验证它是否真的没有被存储,或者它是否没有正确地获取它,或者它是否没有正确地显示它。这三个不同的问题都会显示相同的症状。你应该为此付出努力:),如果没有addslashes(),我的新行字符“\n”在解码后会变成cassual字母“n”。请注意,建议在postmeta中用于JSON或Similar数据的函数是wp\u slash()
。