2015-08-13 73 views
1

我想顯示每個任期爲已任的職位,但我不能夠停止重複的帖子不重複的帖子在1環

我的wordpress結構爲:

相關類別1

  • 子類別1
  • 標題
  • 標題
  • 子類2
  • 標題
  • 標題 父類別2
  • 子類1
  • 標題
  • 標題
  • 子類2
  • 標題
  • 標題 類別3
  • 標題
  • 標題

N.B .:有時帖子與2類關聯,如何刪除重複?

http://pastebin.com/109ni3BK

+0

而不是循環術語爲什麼不將它作爲參數傳遞? https://codex.wordpress.org/Template_Tags/get_posts#Taxonomy_Parameters。應該更簡單。 – cjmling

+0

另一個例子如何通過多個分類https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters – cjmling

+0

但我需要顯示「爲每個術語作爲術語」 –

回答

0

就快,你只是沒有在正確的位置填充$do_not_duplicate,而你不檢查,看看是否當前職位是在它已經。

if塊更改爲這樣的事情(未經測試,但它應該給你的想法):

if($my_query->have_posts()) { 
    while ($my_query->have_posts()) : $my_query->the_post(); 

     $post_id = get_the_ID(); 

     if (in_array($post_id, $do_not_duplicate)) { 
      continue; // We've already seen this post ID, so skip the rest of the loop 
     } 

     $do_not_duplicate[] = $post_id; 
     ?> 
       <tr> 
           <td><?php include (TEMPLATEPATH . '/contactfullname.php'); ?></td> 
           <td><?php echo get_post_meta($post->ID, 'ecpt_position', true); ?></td> 
           <td><?php echo p2p_get_meta(get_post()->p2p_id, 'table', true); ?></td> 
           <td><?php echo ' ' .$term->name;?></td> 
           <td><?php echo p2p_get_meta(get_post()->p2p_id, 'confirmation', true); ?></td> 
       </tr> 
     <?php 
    endwhile; 
} 

編輯

對不起,剛纔看到你在你的$args使用$do_not_duplicate 。在這種情況下,將代碼設置爲while循環可能已足夠:

if($my_query->have_posts()) { 
    while ($my_query->have_posts()) : $my_query->the_post(); 
     $do_not_duplicate[] = get_the_ID(); ?> 
+0

完美的謝謝你 –

+0

沒問題;樂於幫助 – Hobo