我们在项目中使用了四种不同的帖子类别(开发人员,新闻,服务和职业),我知道如何同时打印所有帖子:
{% for post in site.posts %}
<li>{{ post.title }}</li>
{% endfor %}
或每个类别的所有帖子分开:
{% for post in site.categories.news %}
<li>{{ post.title }}</li>
{% endfor %}
我正在努力的是在同一个for循环中仅打印来自两个类别(开发人员和新闻)的帖子。
这是我们的文件夹结构:
_posts /
帖子文件如下(2017-03-16_my_post.md):
---
title: "Dev post Title"
categories: developers
layout: developer
---
我尝试过类似的东西,但我想你不能在for循环中添加两个参数,因为这不起作用。它只打印第一个参数的帖子,完全忽略第二个参数:
{% for post in site.categories.developers and site.categories.news %}
<li>{{ post.title }}</li>
{% endfor %}
任何想法如何处理这个?我找不到任何可行的解决方案。任何帮助将非常感谢!非常感谢!
答案 0 :(得分:1)
要过滤包含两个类别的帖子,您需要浏览所有帖子并使用&#34; if&#34;运算符与&#34;和&#34;:condition A and condition B
。
{% for post in site.posts %}
{% if post.categories contains "developer" and post.categories contains "news" %}
<li>{{ post.title }}</li>
{% endif %}
{% endfor %}
然后它只会显示包含开发者和新闻强文类别的帖子。
答案 1 :(得分:-1)
经过几个小时试图解决这个问题并失去耐心,我终于做对了..这个循环结合if语句只会打印这两个类别的帖子:
{% for post in site.posts %}
{% if post.categories contains 'news' or post.categories contains 'developers' %}
<li>{{ post.title }}</li>
{% endif %}
{% endfor %}
希望它能节省一些时间:)