显示特定类别的自定义single.twig

时间:2019-01-02 14:24:00

标签: wordpress twig timber

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

1 个答案:

答案 0 :(得分:2)

我不认为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