php - 如何使用带有 JSON 字符串的 WordPress update_post_meta?

标签 php mysql json wordpress woocommerce

我有一个必须与外部库存系统集成的 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/

相关文章:

php - 用户登录报表需要用户最新的登录记录

php - 无法插入数据库

php - 您的 SQL 语法有误;查看手册

javascript - json html 的安全方法?

java - 为什么 RequestBody 不会绑定(bind)到我的 java 模型?

javascript - php服务器无法使用$.http().post请求从angularjs接收json变量

php - WordPress - 无法从自定义帖子类型的 metabox 中获取值(value)

mysql - 让所有 child 都在树上的正确查询是什么?

Mysql 性能 : IP direct as BINARY or via reference

java - JSON-lib 转义/保留字符串