使用single。带有条件模板部分包含的php用于显示自定义帖子类型的特定布局,这不是正确的方法。
WordPress有一个叫做Template Hierarchy. 正确的方法是创建single-name-of-your-cpt.php
显示单个portofolio项目。这同样适用于自定义post类型存档。
第二个问题是,类别是内置的分类法。类别存档页使用archive.php
模板,但您不会在那里看到您的自定义帖子类型,因为只包含帖子。您始终可以通过pre_get_posts
行动,但我不认为这是你想要的。
对于您的情况,最好使用Custom Taxonomy.
假设您有一个名为portfolio
还有一种自定义分类法portfolio-category
.
通过这种设置,您可以使用archive-portfolio.php
显示所有公文包帖子和taxonomy-portfolio-category.php
显示特定投资组合类别中的投资组合帖子。您甚至可以通过这种方式为某些投资组合类别创建归档模板。
对于单个视图,请使用single-portfolio.php
和使用has_term() 要检查帖子是什么公文包类别,并以这种方式包括相应的模板部分,请确保有一个默认布局作为回退。