如何用get_post_meta提取JSON元数据中的指定值445?
解决方法
你的问题出在元键使用错误,同时需要解析JSON格式的元值。以下是修正后的代码:
// 获取存储的JSON格式元数据 $meta_json = get_post_meta( $product->get_id(), 'festiUserRolePrices', true ); // 解析JSON为关联数组(第二个参数true返回数组,默认是对象) $meta_data = json_decode( $meta_json, true ); // 提取目标值cash_elit_car,同时做存在性判断避免报错 $custom_price = isset( $meta_data['cash_elit_car'] ) ? $meta_data['cash_elit_car'] : '';
关键说明:
- 必须通过正确的元键
festiUserRolePrices获取完整的JSON字符串 json_decode($meta_json, true)将JSON转为关联数组,方便直接用键名取值- 加入
isset()判断是为了防止元数据不存在或JSON解析失败时触发PHP警告
内容的提问来源于stack exchange,提问作者Tosh P
相关产品推荐
相关产品推荐

