首页 > 解决方案 > 显示特定类别的自定义 single.twig

问题描述

在木材中,您可以显示基于 page.twig 的自定义页面,例如 page-casestudies.twig,我用它来显示所有具有“casestudies”类别的帖子的列表。只需在 URL 中包含 /casestudies 即可呈现页面。这是默认的木材功能,完全符合我的预期。然后,我想展示(用于案例研究)一个自定义的 single-casestudies.twig,它基于但不同于 single.twig(我用于博客文章)并且需要不同的布局。我在案例研究中使用了额外的 ACF。我不知道我是怎么做的,或者是否有可能,或者是否有更好的方法,例如自定义帖子类型。我看过很多关于自定义帖子类型的帖子,但他们只提到了帖子列表,而不是自定义帖子本身的实际显示。提前致谢。

标签: wordpresstwigtimber

解决方案


我不认为 Timber 默认具有此功能,但您可以自己添加它,single.php如下所示:

$context = Timber::get_context();
$context['post'] = new Timber\Post();
$template = has_category('casestudies') ? 'single-casestudies.twig' : 'single.twig';

Timber::render($template, $context);

$template变量检查帖子是否包含类别casestudies,并将模板设置为single-casestudies.twigsingle.twig


推荐阅读