2016-04-14 28 views
0

我正在使用屬性和除event_category外的所有屬性創建簡碼。 當我添加「event_category」屬性它不會給每個添加類別的結果。WP_Query類別參數不起作用

這裏是我的簡碼屬性

// Shortcode Default Array 
      $default_shortcode_attrs = array(
       'type' => 'upcoming', 
       'search' => 'true', 
       'event_category' => '', 
       'events_limit' => '-1', 
      ); 

    extract(shortcode_atts($default_shortcode_attrs, $attr)); 

以下是查詢參數

 $args = array(
       'posts_per_page' => -1, 
       'post_type' => 'event_listing', 
       'post_status' => 'publish', 
       'event_listing_category'=> $event_category, 
      ); 
    $query = new WP_Query($args); 

「event_listing_category」 是自定義分類的名稱。請指導我爲什麼這個查詢不是根據他們的類別獲取事件。

任何幫助將不勝感激。

感謝

回答

2

改爲使用tax_query,如下所示: 我假設您在$ event_category中只提供了一個類別slug。如果在該變量中有多個類別slug,則嘗試將其轉換爲數組,然後用數組替換整個數組($ event_category)。

$args = array(
      'posts_per_page' => -1, 
      'post_type' => 'event_listing', 
      'post_status' => 'publish', 
      'tax_query' => array(
           array(
          'taxonomy' => 'event_listing_category', 
          'field' => 'slug', 
          'terms' => array($event_category) 
          ) 
         ) 
     ); 
$query = new WP_Query($args); 
1

參見如何查詢您的查詢中自定義分類http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

WP_Query函數不理解'event_listing_category'作爲參數,您必須告訴wordpress它是您想要的自定義分類。

+0

我知道這個解決方案,但在我的上面的代碼'event_listing_category'=> $ event_category,這個數組參數正在工作,但現在它已停止工作。 – sehrish

+0

我想使它可行。 – sehrish