尝试通过自定义分类条款过滤Wordpress查询

时间:2019-12-24 02:43:33

标签: php wordpress

我正在尝试根据自定义分类法中的术语过滤Wordpress查询。我正在使用Essential Grid插件显示来自自定义帖子类型“要约”的帖子。

我想从“ f” URL参数中获取值,然后将这些值用作过滤查询的条件。

我不确定为什么我的代码无法正常工作。当我尝试保存它时,我收到一条消息,它将导致致命错误。

具有更多PHP经验的人可以帮助我吗?我已经遍历了代码多次,还没有看到这个问题。还测试了几种变体。

function eg_mod_query($query, $grid_id){

if($grid_id == 3) {
 $f = $_GET['f'];
    $filters = explode(', ', $f);
$args = array(
    'post_type' => 'offer',
    'tax_query' => array(
        array(
            'taxonomy' => 'offer_taxonomy',
            'field'    => 'slug',
            'terms'    => array($filters),
        ),
    ),
);
$query = new WP_Query( $args );
    }
    return $query;
}

1 个答案:

答案 0 :(得分:0)

$filters = explode(', ', $f);

上面的行已经是数组格式。您不应将其更改为

array($filters).

在args var中,它会更改格式。

我认为这应该可行:

function eg_mod_query($query, $grid_id){

if($grid_id == 3) {

    $f = $_GET['f'];
    $filters = explode(', ', $f);
    $args = array(
        'post_type' => 'offer',
        'tax_query' => array(
            array(
                'taxonomy' => 'offer_taxonomy',
                'field'    => 'slug',
                'terms'    => $filters,
            ),
        ),
    );
    $query = new WP_Query( $args );
}

return $query;

}

谢谢。