显示特定类别的自定义 single.twig
Display a custom single.twig for specific categories
在 timber 中,您可以显示基于 page.twig 的自定义页面,例如页面-casestudies.twig,我用它来显示所有 post 类别的列表'casestudies' 个。只需在 URL 中包含 /casestudies 即可呈现页面。这是默认的木材功能,完全符合我的预期。然后我想展示(用于案例研究)一个自定义的单一 casestudies.twig,它基于但不同于 single.twig(我用于博客 posts)并且需要不同的布局。我在案例研究中使用了额外的 ACF。我不知道该怎么做,或者是否有可能,或者是否有更好的方法,例如自定义 post 类型。我看过很多关于自定义 post 类型的 post,但它们只提到了 post 的列表,而不是自定义 post 本身的实际显示。提前致谢。
我认为 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
变量检查 post 是否包含类别 casestudies
,并将模板设置为 single-casestudies.twig
或 single.twig
。
在 timber 中,您可以显示基于 page.twig 的自定义页面,例如页面-casestudies.twig,我用它来显示所有 post 类别的列表'casestudies' 个。只需在 URL 中包含 /casestudies 即可呈现页面。这是默认的木材功能,完全符合我的预期。然后我想展示(用于案例研究)一个自定义的单一 casestudies.twig,它基于但不同于 single.twig(我用于博客 posts)并且需要不同的布局。我在案例研究中使用了额外的 ACF。我不知道该怎么做,或者是否有可能,或者是否有更好的方法,例如自定义 post 类型。我看过很多关于自定义 post 类型的 post,但它们只提到了 post 的列表,而不是自定义 post 本身的实际显示。提前致谢。
我认为 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
变量检查 post 是否包含类别 casestudies
,并将模板设置为 single-casestudies.twig
或 single.twig
。