You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress添加数值型用户元数据Age被自动转为字符串的原因咨询

核心原因
  • WordPress 全品类元数据(用户、文章、分类法、评论等)对应的数据库表中,meta_value 字段的固定类型为 longtext,没有对数值、布尔等特殊类型做差异化存储设计,所有写入的元数据值都会统一转为文本格式存入数据库,读取时自然默认返回字符串类型。
  • add_user_meta 函数底层写入前不会保留传入的变量类型,纯数值会直接转为对应字符串存储,只有数组/对象类型会被序列化后存入,取出时自动反序列化恢复原结构。
解决方案

你可以在读取元数据时主动做类型转换即可,示例代码如下:

// get_user_meta 第三个参数传 true,直接返回单条值而非数组
$age = (int) get_user_meta( get_current_user_id(), 'Age', true );
var_dump($age); // 输出结果为 int(20)

如果需要处理多个数值类型的元数据,也可以自行封装公共读取方法统一做类型转换,不需要修改写入逻辑。

内容的提问来源于stack exchange,提问作者Carl Rguz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:27:05