1つのブログ内でタグ別に記事を出し分けたい

AI-generated summary

1つのブログテンプレート内で、blogs['media'].articles から「タグ1」と「タグ2」の記事をそれぞれ5件ずつ表示したい、というLiquidテンプレートの実装相談です。limit: 5 を付けて for 文を分けているのに、意図した「各タグごとに5件」ではなく、全体で5件の中から条件一致した記事だけが出力されてしまう点が問題になっています。

提示コードでは、ブログ記事一覧を先に limit: 5 で絞り込み、その後で各記事の tags を走査して「タグ1」「タグ2」を判定しています。つまり、タグごとに5件取得しているのではなく、最新5件の記事の中から該当タグを探している状態です。

現時点では解決策の提示はなく、質問段階のままです。未解決の論点は、Liquidでタグ別に記事を個別抽出する方法、またはタグ単位で件数制御する実装方法です。

1ブログテンプレートのなかで、mediaというハンドル名のブログ内のタグ1とタグ2のブログ記事を5つずつ出力したいと思っております。

以下のようなlimitを付けて5つずつ、タグ1とタグ2の記事をそれぞれ表示させようとしたときにfor文で分けているにも関わらず、タグ1とタグ2あわせて5つのブログ記事を出力されてしまいます。

様々な方法を試してみたのですが、どうしてもこちら思ったように出力されません。

お手すきでご教授いただけますと幸いです。


										{% for article in blogs['media'].articles limit: 5 %}
											{% for tag1 in article.tags  %}
												{% if tag1 == 'タグ1' %}
										
											

												
											

											
												
{{ article.created_at | date: '%Y年 %-m月 %d日' }}

												{{ article.title }}

											

										
												{% endif %}
											{% endfor %}
										{% endfor %}

									

									

										{% for article in blogs['media'].articles limit: 5 %}
											{% for tag1 in article.tags  %}
												{% if tag1 == 'タグ2' %}
										
											

												
											

											
												
{{ article.created_at | date: '%Y年 %-m月 %d日' }}

												{{ article.title }}

											

										
												{% endif %}
											{% endfor %}
										{% endfor %}