2012-10-29 16 views
2
<?php $terms = wp_get_post_terms($post->ID,'category'); 
      foreach ($terms as $term) { 
      $termcomp = $term->taxonomy . '_' . $term->term_id; } ?> 


      <?php the_field('tagline' , $termcomp); ?> 

我如何使用此代碼WordPress的,沒有它呼應的6倍,因爲我有類別內6個員額..Foreach循環只能在wordpress循環中使用,但會迴響6次。我可以在循環之外使用它嗎?

http://pastebin.com/ijqwA5SK

全頁面模板是存在的,在foreach也是在底部,這個工作正常,只需要輸出一次。

+1

這將是預期的行爲......如果有6個職位的'Loop'那麼你所期望的標籤被張貼6倍。請注意,術語是使用'$ post-> ID'來獲取的,這是每個循環加載的'$ post'特有的。 – doublesharp

+0

我可以使用別的東西取詞嗎? –

+0

哪些條款?這些條款是特定於帖子的,每次迭代都會發生變化,這聽起來像是您在每篇帖子上都有相同的條款。你能展示一個你看到的輸出和你想要的例子嗎? – doublesharp

回答

0

使用高級自定義字段,如果您想自動回顯結果,您可以使用get_field('field', 'category_'.$cat_id)the_field()來獲取類別分類定製字段的字段。在你的情況下,你首先需要確定當前的類別id,然後使用the_field()作爲你想要的字段名稱,tagline。這應該是裝載的Loop之外:

// only show on category pages 
if(is_category()){ 
    global $wp_query; 
    // get category id from query variables 
    $cat_ID = get_query_var('cat'); 
    the_field('tagline', 'category_'.$cat_ID); 
} 
+0

這只是訣竅,謝謝! –

+0

@BenjiSmalley太棒了 - 只是要清楚,假設wp_的前綴,這些值存儲在'wp_options'中,而不是'wp_postmeta'中,像真正的後期元字段。此功能僅受高級自定義字段支持。 – doublesharp

+0

我發現高級自定義字段是一個了不起的插件,它只是有時候像這樣檢索字段!除此之外,這絕對是英鎊的努力!幸運的是,有像你這樣的人知道他們在做什麼! –