【发布时间】:2021-11-12 20:08:50
【问题描述】:
我有过滤器的代码。在我在我的数据库中添加新产品之前,它运行良好。我发现了问题,但不知道该怎么办。
我的过滤器中有参数“alc_min”和“alc_max”。我从抓取所有产品中得到这些。发送此过滤器后,我触发此代码:
$meta_query = array();
$b = "alc_min";
$c = "alc_max";
if (isset ( $data [$b] ) && isset ( $data [$c] )) {
$compare = "BETWEEN";
$a = array (
'key' => "alc",
'value' => array (
$data [$b],
$data [$c]
),
'compare' => $compare
);
array_push ( $meta_query, $a );
}
$items = new WP_Query ( array (
'post_type' => $type,
'posts_per_page' => $posts_per_page,
'order' => $order,
'meta_key' => $orderkey,
'orderby' => $orderby,
'post_status' => 'publish',
'meta_query' => $meta_query,
'paged' => $paged
) );
到目前为止,它运作良好。不,我添加了“alc”10,就可以了。但是,如果“alc_min”10,我根本得不到任何结果。
有人知道要检查或修复什么吗?
【问题讨论】:
-
所以举个真实的例子:查询适用于 5,9 和 17,18 但不适用于 5,15 (min,max)?
-
是的,就是这样。我有这个真实网站(电子商店)的查询几个月没有问题,但是我在下面添加了带有“alc”的产品 10,我发现了这个问题。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: mysql wordpress between meta-query