1

我有一個自定義的帖子類型名爲STORIES。 在這一訊息類型,我有類,所以每個故事也被分配這樣的種類...WordPress的自定義帖子類型存檔顯示

故事1(分配類別RED) 故事2(分配類別BLUE) 故事3(分配類別GREEN)等等。

我需要顯示一個列出類別的頁面,點擊後列出該類別的帖子。

所以頁面將與一個列表...

RED BLUE GREEN

什麼模板將控制這個名單?

然後我點擊紅色,它將我帶到僅顯示紅色故事的模板。

什麼樣的模板可以控制這個列表?

我猜我需要三個特定的模板? 一個叫template-stories.php,一個叫archive-stores.php,最後一個叫single-stories.php?

回答

2

你猜吧,首先你需要你要去哪裏打電話給你的條件頁面模板,但你需要他分類打電話吧?要做到這一點,你需要使用的功能get_terms($taxonomies, $args);,並與功能get_term_link($term),你要獲得當期的網址:

$args = array('hide_empty=0'); 

$terms = get_terms('my_term', $args); 
if (! empty($terms) && ! is_wp_error($terms)) { 
    $count = count($terms); 
    $i = 0; 
    $term_list = '<p class="my_term-archive">'; 
    foreach ($terms as $term) { 
     $i++; 
     $term_list .= '<a href="' . get_term_link($term) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a>'; 
    if ($count != $i) { 
     $term_list .= ' &middot; '; 
    } 
    else { 
     $term_list .= '</p>'; 
    } 
} 
echo $term_list; 

}

然後,你需要你要去哪裏,顯示了關聯到當前所有職位archive.php術語。

但首先您需要獲取當前的術語,並且可以使用功能get_term_by($field, $value, $taxonomy, $output, $filter)來完成。

$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); 

現在你可以讓一個if語句:

if($term = 'red'){ 
    the_title(); 
    //Or get_template_part('content', 'stories'); 
}else{ 
    //... 
} 
+0

我得到它的工作的感謝您的諮詢。非常感謝。 – lowercase

相關問題