php - 通过 get_post_meta() 获取产品插件信息
问题描述
我正在尝试检索自定义视图的插件标签(WooCommerce 产品插件),我使用 get_post_meta() 从数据库获取序列化数组,但 unserialize() 输出 bool(false)。
$ProductMeta = get_post_meta($ParentProductID);
$addons = $ProductMeta['_product_addons'];
echo var_dump($addons);
上面代码的结果是
数组(1){ [0]=> 字符串(530) "a:1:{i:0;a:16:{s:4:"name";s:6:"Extras";s:12:"title_format";s:5:"label" ;s:18:"description_enable";i:0;s:11:"description";s:0:"";s:4:"type";s:8:"复选框";s:7:"显示";s:11:"单选按钮";s:8:"位置";i:0;s:8:"必需";i:0;s:12:"限制";i:0;s:17: "restrictions_type";s:8:"any_text";s:12:"adjust_price";i:0;s:10:"price_type";s:8:"flat_fee";s:5:"price";s: 0:"";s:3:"min";d:0;s:3:"max";d:0;s:7:"选项";a:1:{i:0;a:4: {s:5:"label";s:14:"添加 Prosciutto";s:5:"price";s:1:"3";s:5:"image";s:0:"";s :10:"price_type";s:8:"固定费用”;}}}}” }
然后我尝试了 unserialize() 函数如下:
$ProductMeta = get_post_meta($ParentProductID);
$addons = $ProductMeta['_product_addons'];
$addons = unserialize($addons);
echo var_dump($addons);
结果是:
布尔(假)
解决方案
返回的值是一个包含一个元素的数组,但您尝试反序列化整个数组,您需要像这样定位元素 unserialize($addons[0])
推荐阅读
- laravel - 使用 Laravel 让子域在本地工作
- firebase - Firebase Cloud Functions:无法部署我的功能。错误:“路径”必须是字符串类型
- python - 比 loc 更有效的清理数据框的方法
- linux - 如何修复这个损坏的 rpmdb?
- java - Java,Spring Boot,测试,entityManagerFactory
- mysql - 嵌套查询比连接查询快吗?
- image-processing - PNG压缩不会减小图像的大小
- symfony - 多个控制器 - 初学者指南
- sql - Rails SQL 在多个列中“选择”: where (code1, code2) in (("A", 1), ("A", 3), ("Q", 9))
- svn - 如何中止当前活动的 SVN 合并?