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

相关问题