[英]WordPress ACF Search Between two numbers
我需要帮助,我需要在两个数字范围之间进行搜索,例如我有 21000-23000、16000-22300、30000-40000,我想找到 22300,所以结果将是:21000-23000、16000-22300 我知道我需要使用 BETWEEN 类型,但由于某种原因,它仅在最小数字正确时才显示结果我有两个代码 1。
// Filter by price renge
if((isset($_REQUEST['min_price']) && $_REQUEST['min_price']!='') && (isset($_REQUEST['max_price']) && $_REQUEST['max_price']!='')){
$filtermeta[] = array(
'key' => 'minimum_price',
'value' => array(trim($_REQUEST['min_price']), trim($_REQUEST['max_price'])),
'compare' => 'BETWEEN',
'type' => 'numeric'
);
$filtermeta[] = array(
'key' => 'maximum_price',
'value' => array(trim($_REQUEST['min_price']), trim($_REQUEST['max_price'])),
'compare' => 'BETWEEN',
'type' => 'numeric'
);
}
if( !empty($filtermeta) && count($filtermeta)>1 ){
$arg['meta_query'] = $filtermeta;
}
使用此代码搜索根本不起作用,不知道为什么,另一个有效但不正确的是这个 2。
if(isset($_REQUEST['min_price']) && $_REQUEST['min_price']!=''){
$filtermeta[] = array(
'key' => 'minimum_price',
'value' => array(trim($_REQUEST['min_price']), 1000000),
'compare' => 'BETWEEN',
'type' => 'numeric'
);
}
if( !empty($filtermeta) && count($filtermeta)>1 ){
$arg['meta_query'] = $filtermeta;
}
输入搜索字段:
<div class="form-group">
<input type="number" min=0 max="9999999999" name="min_price" value="1" oninput="validity.valid||(value='0');" id="min_price" class="price-range-field" />
</div>
你能帮我么? 我对 PHP 很陌生,不明白这里要改变什么
实际上,我尝试设置 max 而不是 min 并且它有效
所以我做了这个:
if(isset($_REQUEST['max_price']) && $_REQUEST['max_price']!=''){
$filtermeta[] = array(
'key' => 'maximum_price',
'value' => array(trim($_REQUEST['max_price']), 1000000),
'compare' => 'BETWEEN',
'type' => 'numeric'
);
}
if( !empty($filtermeta) && count($filtermeta)>1 ){
$arg['meta_query'] = $filtermeta;
}
并改变了输入
<div class="form-group">
<input type="number" min=0 max="9999999999" name="max_price" value="100" oninput="validity.valid||(value='1000');" id="max_price" class="price-range-field" />
</div>
但是确定这是否是一个好的代码,很高兴听到想法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.