我正在尝试使用AJAX创建过滤器,过滤不同的分类法类别。对于每个分类,都是过滤器列表框。 如果选择了所有列表框,则过滤器正在工作,但我需要找到如果未选择某些过滤器的过滤器类别的方法。如何查询具有空值的类别?我有4个列表框,代码缩短了。
代码:
$komanda = $_POST['komanda'];
$pretinieks = $_POST['pretinieks'];
if ($komanda == 0){ $komanda = '?'; }
if ($pretinieks == 0){ $pretinieks = '?'; }
$args = array(
'post_type' => 'speles',
'posts_per_page' => 99,
'post_status' => array('publish'),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'komandas',
'field' => 'term_id',
'terms' => $komanda,
),
array(
'taxonomy' => 'pretinieki',
'field' => 'term_id',
'terms' => $pretinieks,
),
)
);
答案 0 :(得分:0)
我找到了解决方案。
$komanda = $_POST['komanda'];
$pretinieks = $_POST['pretinieks'];
if ($komanda == 0){
$terms = get_terms( 'komandas', 'orderby=count&hide_empty=1' );
$komanda = array();
$komanda = wp_list_pluck($terms, 'term_id');
}
if ($pretinieks == 0){
$terms = get_terms( 'pretinieki', 'orderby=count&hide_empty=1' );
$pretinieks = array();
$pretinieks = wp_list_pluck($terms, 'term_id');
}
$args = array(
'post_type' => 'speles',
'posts_per_page' => 99,
'post_status' => array('publish'),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'komandas',
'field' => 'term_id',
'terms' => $komanda,
),
array(
'taxonomy' => 'pretinieki',
'field' => 'term_id',
'terms' => $pretinieks,
),
)
);