不包括类别

时间:2016-09-20 00:52:28

标签: timber

目前,我列出了所有帖子类别,但我希望排除某些类别,例如未分类的。

这就是我现在开始分类的方式:

$context['categories'] = Timber::get_terms('category');

并通过

列出类别
{% for cat in categories %}

<li><a style="margin: 0;" href="{{cat.link}}">{{cat.name}}</a></li>

{% endfor %}

2 个答案:

答案 0 :(得分:1)

你有几种可能性。这是两个:

1。在查询中排除

使用Timber::get_terms()Timber::get_posts()时,您可以使用与WordPress的get_terms() function相同的参数。

exclude参数需要您要排除的字词ID。未分类通常具有ID 1.

$context['categories'] = Timber::get_terms( 'category', array(
    'exclude' => 1
) );

2。在Twig中排除

Twig允许您add a condition to the for loop排除要在循环中忽略的项目。

通过这种方式,您可以检查slug是否“未分类”,但您也可以使用category.id != 1检查ID。

{% for cat in categories if category.slug != 'uncategorized' %}
    <li><a href="{{ cat.link }}">{{ cat.name }}</a></li>
{% endfor %}

答案 1 :(得分:0)

如果您知道不想包含的类别的名称,则可以使用以下代码 not in

{% set categorisedValues = ['one','two','three','four','five'] %}
{% set uncategorisedValues = ['one','two'] %}

{% for categorised in categorisedValues %}
    {% if categorised not in uncategorisedValues %}
        {{ categorised  }}
    {% endif %}
{% endfor %}