在add_post_meta中存储Json值

时间:2014-12-14 15:50:58

标签: php json wordpress variables

如何将此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);

先谢谢

1 个答案:

答案 0 :(得分:2)

您需要使用json_encode()。这将返回一个JSON格式的字符串,您可以使用该字符串保存在数据库中。

请注意,对于诸如ë,â,Æ等字符,在尝试将其保存在数据库中之前,应在JSON编码字符串上使用addslashes()。这样,一旦解码了JSON字符串,就可以正确地看到这些特殊字符。

(是的,这是非常旧,但我在寻找自己的东西并想到为什么不呢?)

相关问题