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

如何在WordPress的meta_query中获取嵌套键reviewer_id的值并对比?

WordPress Meta Query 匹配嵌套数组字段的正确写法

你原来的写法无法生效,因为WordPress会把数组类型的自定义字段存储为序列化字符串,比如reviewer_for_post字段实际存储的内容类似a:1:{s:10:"reviewer_id";i:123;},直接用reviewer_for_post[reviewer_id]作为查询key找不到对应的记录。

正确的查询写法如下:

'meta_query' => array(
    array(
        'key'     => 'reviewer_for_post',
        'value'   => serialize( array( 'reviewer_id' => $user_editor->ID ) ),
        'compare' => 'LIKE'
    )
)

补充说明

  • serialize(array('reviewer_id' => $user_editor->ID))会生成和WordPress存储格式一致的序列化片段,用LIKE就能精准匹配到包含该片段的meta记录。
  • 即便reviewer_for_post数组包含其他键值对,这个方法依然有效,因为序列化后的结构会保留每个键值对的独立标识,不会出现误匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:22:38