Wordpress 为自定义分类法创建模板文件

Wordpress creating template files for custom taxonomies

我使用 CPT 插件创建了一个自定义 post 类型的产品,然后我创建了三个自定义分类法以在添加新产品时使用,假设它们是品牌、用途和类型。

我想要实现的是有一个页面列出自定义分类法中的所有术语,单击该页面会将您带到一个术语页面,其中列出了用该术语标记的所有产品。最后单击产品会将您带到单个产品页面。

基本上我想要这个:主页 -> 分类列表 -> 单项 -> 产品

这对我来说都是极其新鲜和未知的。我遇到过使用 taxonomy.php 为我的分类法创建自定义存档,但我不知道如何让它全部工作或我的文件结构应该是什么样子。我应该使用什么模板以及如何连接它们。此外,由于分类术语不是 post,我如何为我的分类中的每个术语创建一个页面?

据我所知,我需要一个用于我的分类法列表的页面,然后我可以使用 taxonomy.php 来模板化单个术语页面。我想不出使用模板文件 link 列表中的术语所需的步骤。

如有任何帮助,我们将不胜感激。谢谢!

我通常为分类术语列表创建自定义页面模板。在该模板中,您可以阅读分类法的术语:

<?php 
$terms = get_terms( $taxonomy ); 
foreach( $terms as $term ) :
?>
<a href="<?php echo get_term_link( $term, $taxonomy ); ?>">
<?php echo $term->name; ?>
</a>
<?php endforeach; ?>

然后,在您的 taxonomy.php 中,您可以使用一个简单的循环来显示所有产品:

<?php while( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile(); ?>

那么您只需要 single.php 来显示您的产品详细信息:

<?php if ( have_posts() ) : the_post(); ?>
<!-- Show post details here -->
<?php endif; ?>

有用的概述:https://codex.wordpress.org/images/1/18/Template_Hierarchy.png