我有一个问题与多个Meta密钥不一起工作。我有100个职位,他们有1 Meta键是价格和1元键是价格类型。在价格中,我们存储价格和价格类型,我们存储固定,可协商,随叫随到。在这里,随叫随到的帖子没有显示价格过滤器。如果用户按价格范围搜索100至500然后我需要显示在呼叫职位,但不显示。随叫随到职位价格字段为空。因此,我如何显示在电话帖子与价格范围。这里是查询。
<?php
$args = array(
‘s’ => $title,
‘post_type’ => ‘ad_post’,
‘post_status’ => ‘publish’,
‘posts_per_page’ => 100, //New Custom Code
‘post__in’ => (!empty($postArr))? $postArr : [],
‘tax_query’ => array(
$category,
$ad_types,
),
‘meta_query’ => [
‘relation’ => ‘AND’,
$price,
$custom_search,
[
‘relation’ => ‘OR’,
$priceType,
],
],
‘order’ => $order,
‘orderby’ => $orderBy,
‘paged’ => $paged,
);
$price = array(
‘key’ => ‘price’,
‘value’ => array($_GET[‘min_price’], $_GET[‘max_price’]),
‘type’ => ‘numeric’,
‘compare’ => ‘BETWEEN’,
);
$priceType = array(
‘key’ => ‘price_type’,
‘value’ => array(‘Negotiable’,’Fixed’,’on_call’),
‘compare’ => ‘IN’
);
我也有tax_query所以所有的组合不一起工作。所以我需要显示在电话后与价格范围过滤器。总是价格过滤器删除价格类型过滤器。在postmeta表中,哪个帖子有电话,价格=空白,价格_类型= on_call,哪个广告有价格类型=固定,价格= 100或其他值。
1条答案
按热度按时间u4dcyp6a1#
如果我理解正确的话,你想过滤你的产品 * 要么 * 价格 * 或 * 类型等于
on_call
。为此,您必须稍微更改查询,如下所示:
与
表示“custom_search AND(priceType OR price)"。