可以使用正则表达式RLIKE
:
$val = \'15\';
$args = array(
\'post_type\' => \'shop\',
\'meta_query\' => array(
array(
\'key\' => \'map-location\',
\'value\' => \'s:7:"address";s:[0-9]+:"[^"]*\' . preg_quote( $val ) . \'[^"]*";\',
\'compare\' => \'RLIKE\'
),
)
);
尽管如果您的地址数据包含双引号,它可能会失败。如果你总是有
lat
和a
lng
字段后面的
address
然后,您可以扩展表达式以匹配这些表达式,并且不再需要
[^"]
位(用点代替)。