获取术语的父项
Get parent of term
我可能在 Timber Docs 中错过了它,但是是否有可能获得给定分类法的父术语?
两种方法取决于 Twig 与 PHP 以及您想要做什么。
考虑一个 post,它被指定为 "Politics" 类别(它是 "News" 的子类别)
示例 1:获取 Twig 文件中的父术语
<p>Find more posts in {{ post.category.name }} and {{ post.category.parent.name }}</p>
<!--- outputs as ... --->
<p>Find more posts in Politics and News</p>
示例 2:从分类中获取顶级术语
$context['parent_categories'] = Timber::get_terms(array('taxonomy' => 'category', 'parent' => 0));
像这样在 Twig 中使用...
Top-level categories for my site are...
{% for term in parent_categories %}
<li><a href="{{ term.link }}">{{ term.name }}</a></li>
{% endfor %}
<!-- Outputs as... -->
<li><a href="/category/news/">News</a></li>
<li><a href="/category/sports/">Sports</a></li>
<li><a href="/category/opinions/">Opinion</a></li>
假设您正尝试在树枝视图中使用类别的父项。这就是我在偶然发现这个 post.
时试图解决的问题
在category.php
中可以通过获取当前查看分类的父分类ID来获取父分类:
$category = new TimberTerm();
$context['category'] = $category;
if ($category->parent) {
$context['parent_category'] = new TimberTerm($category->parent);
}
$category->parent
对应父类的ID。如果该类别没有父级,则为 null
。然后,您可以在模板中使用生成的类别。
<a class="category_{{parent_category.slug|lower}}" href="{{parent_category.link}}">
{{parent_category.title}}
</a>
我可能在 Timber Docs 中错过了它,但是是否有可能获得给定分类法的父术语?
两种方法取决于 Twig 与 PHP 以及您想要做什么。
考虑一个 post,它被指定为 "Politics" 类别(它是 "News" 的子类别)
示例 1:获取 Twig 文件中的父术语
<p>Find more posts in {{ post.category.name }} and {{ post.category.parent.name }}</p>
<!--- outputs as ... --->
<p>Find more posts in Politics and News</p>
示例 2:从分类中获取顶级术语
$context['parent_categories'] = Timber::get_terms(array('taxonomy' => 'category', 'parent' => 0));
像这样在 Twig 中使用...
Top-level categories for my site are...
{% for term in parent_categories %}
<li><a href="{{ term.link }}">{{ term.name }}</a></li>
{% endfor %}
<!-- Outputs as... -->
<li><a href="/category/news/">News</a></li>
<li><a href="/category/sports/">Sports</a></li>
<li><a href="/category/opinions/">Opinion</a></li>
假设您正尝试在树枝视图中使用类别的父项。这就是我在偶然发现这个 post.
时试图解决的问题在category.php
中可以通过获取当前查看分类的父分类ID来获取父分类:
$category = new TimberTerm();
$context['category'] = $category;
if ($category->parent) {
$context['parent_category'] = new TimberTerm($category->parent);
}
$category->parent
对应父类的ID。如果该类别没有父级,则为 null
。然后,您可以在模板中使用生成的类别。
<a class="category_{{parent_category.slug|lower}}" href="{{parent_category.link}}">
{{parent_category.title}}
</a>