如何将此Json值存储在add_post_meta
中 $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
案例2 //没有json值存储..
$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);
先谢谢
答案 0 :(得分:2)
您需要使用json_encode()。这将返回一个JSON格式的字符串,您可以使用该字符串保存在数据库中。
请注意,对于诸如ë,â,Æ等字符,在尝试将其保存在数据库中之前,应在JSON编码字符串上使用addslashes()。这样,一旦解码了JSON字符串,就可以正确地看到这些特殊字符。
(是的,这是非常旧,但我在寻找自己的东西并想到为什么不呢?)