2011-05-06 97 views
2

我試圖列出每個父類別在WordPress中的一篇文章,但我似乎無法弄清楚如何改變此代碼以排除子類別。基本上,我列出了類別的名稱,然後列出了每個父類別的後綴縮略圖,摘錄和讀取更多按鈕。我不能只是按類別id排除子類別,因爲這個網站是針對稍後將添加子類別的客戶。請幫忙,謝謝!WordPress的每個父類別查詢一個職位(排除子類別)

$num_cats_to_show = 10; 
$count = 0; 
$taxonomy = 'category';// e.g. post_tag, category 
$param_type = 'category__in'; // e.g. tag__in, category__in 
$term_args=array(
    'orderby' => 'name', 
    'order' => 'ASC', 
); 
$terms = get_terms($taxonomy, array('exclude' => '15,1'),$term_args); 
if ($terms) { 
    foreach($terms as $term) { 
    $args=array(
     "$param_type" => array($term->term_id), 
     'post_type' => 'post', 
     'post_status' => 'publish', 
     'posts_per_page' => 1, 
     'caller_get_posts'=> 1, 
    ); 
    $my_query = null; 
    $my_query = new WP_Query($args); 
    if($my_query->have_posts()) { 
     $count ++; 
     if ($count <= $num_cats_to_show) { 
     while ($my_query->have_posts()) : $my_query->the_post(); 

回答

1

我想你只想得到父母等於0(無父母)的條款。

$term_args = array(
    'orderby' => 'name', 
    'order' => 'ASC', 
    'parent' => 0 
); 
$terms = get_terms($taxonomy, $term_args); 

我不認爲你可以通過ID與get_terms排除條款,但你可以拒絕你的循環中的相關條款。

+0

哦,你是對的。在問這個問題之前,我實際上已經嘗試了你的代碼,但是由於排除了條款代碼(順便說一句,但是禁用了parent = 0代碼),所以它不起作用......所以我該如何拒絕這個類別。這個問題,它是「特色」類別,我仍然希望列出類別中的項目,我只是不希望類別本身列出。就像我之前說過的,我從每個父類別中列出一篇文章,但我需要從此列表中排除「精選」類別。 – 2011-05-09 07:02:22

+0

想通了,謝謝你的超級幫助!如果有人遇到這個問題,可以這樣做:'$ term_args = array( 'orderby'=>'name', 'order'=>'ASC', 'parent'=> 0, \t'exclude'=> '15', ); $ terms = get_terms($ taxonomy,$ term_args);' – 2011-05-09 07:13:21

相關問題