2016-09-12 15 views
0

私は、異なるタクソノミカテゴリをフィルタリングするAJAXでフィルタを作成しようとしています。それぞれのタクソノミーについて、フィルタリストボックスがあります。 すべてのリストボックスが選択されている場合、フィルタは機能していますが、フィルタのいくつかが選択されていない場合、どのようにフィルタカテゴリを見つける必要があります。空の値を持つカテゴリをどのように照会できますか?私は4つのリストボックスを持っており、コードは短縮されています。Wordpressのカスタムタクソノミカテゴリフィルタ、すべてのカテゴリを取得するデフォルト値

コード:

$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

私は解決策を見つけました。

$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, 
         ), 
        ) 
); 
関連する問題