Php WordPress站点上的筛选复选框不起作用

Php WordPress站点上的筛选复选框不起作用,php,wordpress,filter,filtering,Php,Wordpress,Filter,Filtering,我有6个ACF字段。 2选择字段 4个复选框字段 若我只过滤选择的字段,过滤工作正常,但若我添加到过滤器参数从复选框,过滤器总是显示0篇文章 有什么问题吗 过滤器的循环代码: <div id="archive-filters" class="form-group"> <?php foreach( $GLOBALS['my_query_filters'] as $key => $name ): $field = get_fie

我有6个ACF字段。 2选择字段 4个复选框字段

若我只过滤选择的字段,过滤工作正常,但若我添加到过滤器参数从复选框,过滤器总是显示0篇文章

有什么问题吗

过滤器的循环代码:

<div id="archive-filters" class="form-group">
<?php foreach( $GLOBALS['my_query_filters'] as $key => $name ):
    $field = get_field_object($key, false, false);
    if( isset($_GET[ $name ]) ) {
        $field['value'] = explode(',', $_GET[ $name ]);
    }
    ?>
    <div class="slider-container filter form-group <?php echo $field['wrapper']['class']; ?>" data-filter="<?php echo $name; ?>">
        <span class="main-label"><?php echo  $field['label'];?></span>
        <label class="switch">
        <?php create_field( $field ); ?>
            <div class="slider round"></div>
        </label>
        <?php if ($field['instructions']){ echo '<span class="instructions">' . $field['instructions'] . '</span>';} ?>
    </div>
<?php endforeach; ?>
    <div class="field col-md-3 col-sm-3 col-xs-6">
        <div class="form-group">
            <button id="btn-filtering__companies" class="btn btn-success btn-block">Search</button>
        </div><!-- /.form-group -->
    </div>
</div>

搜寻
和functions.php中的代码

// array of filters (field key => field name)
$GLOBALS['my_query_filters'] = array(
    'field_key1'    => 'first_meta',
    'field_key2'    => 'second_meta',
    'field_key3'    => 'third_meta',
    'field_key4'    => 'etc...',
    'field_key5'    => '',
    'field_key6'    => ''
);


// action
add_action('pre_get_posts', 'my_pre_get_posts', 10, 1);

function my_pre_get_posts( $query ) {

    // bail early if is in admin
    if( is_admin() ) return;


    // bail early if not main query
    // - allows custom code / plugins to continue working
    if( !$query->is_main_query() ) return;


    // get meta query
    $meta_query = $query->get('meta_query');


    // loop over filters
    foreach( $GLOBALS['my_query_filters'] as $key => $name ) {
        // continue if not found in url
        if( empty($_GET[ $name ]) ) {

            continue;

        }


        // get the value for this filter
        // eg: http://www.website.com/events?city=melbourne,sydney
        $value = explode(',', $_GET[ $name ]);

        $meta_query =  array();
        // append meta query
        $meta_query[] = array(
            'key'       => $name,
            'value'     => $value,
            'compare'   => 'IN',
        );

    }


    // update meta query
    $query->set('meta_query', $meta_query);

}

function php_in_widgets($widget_content) {
    if (strpos($widget_content, '<' . '?') !== false) {
        ob_start();
        eval('?' . '>' . $widget_content);
        $widget_content = ob_get_contents();
        ob_end_clean();
    }
    return $widget_content;
}

add_filter('widget_text', 'php_in_widgets', 99);
?>
//过滤器数组(字段键=>字段名)
$GLOBALS['my\u query\u filters']=数组(
'field_key1'=>'first_meta',
'field_key2'=>'second_meta',
'field_key3'=>'third_meta',
“field_key4”=>“等…”,
'field_key5'=>',
'field_key6'=>'
);
//行动
添加操作('pre_get_posts','my_pre_get_posts',10,1);
函数my_pre_get_posts($query){
//如果他在行政区,就提前保释
如果(is_admin())返回;
//如果不是主要问题,则提前保释
//-允许自定义代码/插件继续工作
如果(!$query->is_main_query())返回;
//获取元查询
$meta_query=$query->get('meta_query');
//环路滤波器
foreach($GLOBALS['my\u query\u filters']作为$key=>$name){
//如果在url中找不到,请继续
if(空($\u GET[$name])){
继续;
}
//获取此筛选器的值
//例如:http://www.website.com/events?city=melbourne悉尼
$value=explode(“,”,$获取[$name]);
$meta_query=array();
//追加元查询
$meta_query[]=数组(
“key”=>$name,
“值”=>$value,
'比较'=>'中的',
);
}
//更新元查询
$query->set('meta\u query',$meta\u query);
}
函数php\u in\u widgets($widget\u content){
if(strpos($widget\u content,.$widget\u content);
$widget_content=ob_get_contents();
ob_end_clean();
}
返回$widget\u内容;
}
添加过滤器('widget\u text','php\u in\u widgets',99);
?>
现在我正在处理过滤器,通过AND方法选择前2个过滤器,通过OR方法选择复选框进行过滤

如果你能帮我做这件事,我将不胜感激

谢谢大家!