我有一个必须与外部库存系统集成的 WooCommerce 商店。因此我需要通过 PHP/WordPress 创建/更新产品。这部分我已经想通了。 问题是产品变体。它们作为 JSON 字符串存储在数据库中。
例子:
a:1:{s:10:"size";a:6:{s:4:"name";s:10:"Size";s:5:"value";s:17:"42";s:8:"position";s:1:"0";s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:0;}}
但是,当我这样插入时
update_post_meta($product_id, '_product_attributes', 'a:1:{s:10:"size....');
它添加了 s:173:"a:1:{s:10:"siz.... ";
我尝试使用 json_encode() 删除“s:173”,但在开头和结尾保留双引号。
关于如何在没有额外内容的情况下存储此 JSON 字符串的任何帮助?将不胜感激
最佳答案
您在数据库中看到的是序列化数组。 post 元函数为您处理所有这些。
使用get_post_meta获取数组,将数组传入update_post_meta即可。
您不需要使用序列化/反序列化函数。
关于php - 如何使用带有 JSON 字符串的 WordPress update_post_meta?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22403853/