【发布时间】:2019-04-28 01:30:09
【问题描述】:
所以,我正在构建一个包含元查询的 wordpress 查询。
我从一些不同的早期函数中获得了一些元值,这似乎工作正常。
结束于:$arrayOfVendors = array(92,85,72)。
然后我尝试使用 foreach 循环创建动态元查询。
这是通过循环遍历我的数组并通过值创建新数组来完成的。
$test2QueryStringArray = array();
foreach ($arrayOfVendors as $singleVendorObject) {
$test2QueryString = array(
'key' => 'products_vendor',
'compare' => 'LIKE',
'value'=> '"'.$singleVendorObject.'"',
);
array_push($test2QueryStringArray, $test2QueryString);
}
现在我的新数组应该由几个包含我想要的数组组成。
只要把它放到我的参数中,我就应该拥有我想要的一切
'meta_query' => array(
'relation' => 'OR',
$test2QueryStringArray
)
但是 - 我最终得到的是以下内容。
'meta_query' => array (
'relation' => 'OR',
0 => array (
0 => array (
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '92',
),
1 => array (
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '85',
),
2 => array (
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '72',
),
),
)
虽然正确的语法如下。
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '92',
),
array(
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '85',
),
array(
'key' => 'products_vendor',
'compare' => 'LIKE',
'value' => '72',
),
),
基本上,我要做的是在 ACF 关系字段(可以选择多个供应商)中获取所有从数组中选择供应商的帖子。
不知道如何从这里开始,我尝试过的一切,要么因为数组到字符串的转换而死掉,要么就是没有给我预期的输出。
所以任何帮助将不胜感激
【问题讨论】:
标签: php arrays wordpress multidimensional-array