我正在尝试查询我网站中自定义帖子类型的一些帖子,而这就是我正在做的事情:
$query_adresses = array (
'order' => 'ASC',
'cat' => $_GET["cat"],
'post_type'=> 'adressen',
'posts_per_page' => '-1',
'meta_query' => array(
array(
'key' => 'postcode',
'value' => $target_zips,
'compare' => 'IN'
)
)
);
正如您所看到的,我正在检查zipcodes中的匹配项。 $target_zips
数组包含一组邮政编码值,如:5641, 1011, 3455
。我帖子中的postcode
字段包含以下值:5641GH, 1011AB, 3455TR
。所以我需要做的就是进行比较,但只使用帖子postcode
字段的前4个字符。这可能吗?我怎么能这样做?
答案 0 :(得分:2)
您可以进行REGEXP
搜索:
$query_adresses = array (
'order' => 'ASC',
'cat' => $_GET["cat"],
'post_type'=> 'adressen',
'posts_per_page' => '-1',
'meta_query' => array(
array(
'key' => 'postcode',
'value' => '^(5641|1011|3455)',
'compare' => 'REGEXP'
)
)
);
^
:在字符串
(5641|1011|3455)
:捕获论坛匹配5641
或1011
或3455
更多信息in the Codex。