我正在尝试根据自定义分类法中的术语过滤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;
}
答案 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;
}
谢谢。