2017-09-04 48 views
0

如何爲一個查詢重新編碼這個$ args,以便在觸發時任何一個過濾器條件都能正常工作?這是我的代碼。個別地我測試了所有的過濾器並且工作正常......但是將它們結合在一起,我被卡住了。一個過濾器是一個分類法,另外兩個是選擇列表。我正在使用ACF。使用ACF在Wordpress中查詢分類法或兩個選擇列表

$args = array(

      'post_type' => 'pathway', 
      'post_status' => 'publish', 
      'posts_per_page' => -1, 
      'orderby' => 'date', 
      'order' => 'DESC', 

      'tax_query' => array(
       array(
        'taxonomy' => 'uni_tax', 
        'field' => 'slug', 
        'terms' => $the_university_filter, 
       ), 
      ), 

      'meta_query' => array(
       array(
        'meta_key' => 'entry_level', 
        'meta_value' => $the_entrylevel_filter, 

       ) 
      ) 

      'meta_query' => array(
       array(
        'meta_key' => 'state', 
        'meta_value' => $the_state_filter, 

       ) 
      ) 

     ); 

回答

0

試試這個

$args = array(
    'post_type' => 'pathway', 
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'orderby' => 'date', 
    'order' => 'DESC', 

    'tax_query' => array(
     array(
      'taxonomy' => 'uni_tax', 
      'field' => 'slug', 
      'terms' => $the_university_filter, 
     ), 
    ), 

); 

if (isset($_POST['entry_level_filter']) { 
    $args['meta_query'][] = array(
     'key' => 'entrylevel', 
     'value' => $the_entrylevel_filter, 
    ); 
} 

if (isset($_POST['state_filter']) { 
    $args['meta_query'][] = array(
     'key' => 'state', 
     'value' => $the_state_filter, 
    ); 
} 

請修改詢問參數,你認爲合適。如果您有任何與meta_query組合有關的問題,請告訴我們。

$_POST['entry_level_filter']僅僅是一個假設,這個變量將被用來發送數據。處理決策變量,你認爲合適。

+0

非常感謝你的幫忙,但是沒;噸的工作......我也做了一些進步,但... –

+0

如果您需要進一步的幫助,加上自己的進步的問題,包括你的其他問題。如果你已經得到它,然後發佈yhesolution並將其標記爲答案,以便其他人可能會發現它的用處。 – Junaid