- 特定の条件を満たす場合にだけ処理をしたい場合に、条件を設定するタグ
- 「If」を「Unless」に変更することで条件を満たさない場合に処理ができる
- 記事のカテゴリ設定や、コメントの公開設定などを紹介している
条件分岐タグとは、ある条件を満たす場合にだけ何らかの処理をしたい場合に、その条件を設定するタグです。
<タグ名>処理内容</タグ名>
このように、処理を実行したい箇所を囲むようにタグを記述します。
また、IfをUnlessに変更することで条件を満たさない場合に処理を行うようにできます。
条件分岐タグ一覧
タグ名 | 説明 | 備考 |
---|---|---|
IfArticleAllowComment | コメント受け付け | コメント可の設定なら処理 |
IfArticleCommentCount | コメントの有無 | コメントがあるなら処理 |
IfArticleRating | 記事の評価 | 記事に評価があれば処理 |
IfArticleCategory | 記事のカテゴリ設定(1) | 第1カテゴリの設定があれば処理 |
IfArticleCategory1 | 記事のカテゴリ設定(1) | IfArticleCategoryと同一 |
IfArticleCategory2 | 記事のカテゴリ設定(2) | 第2カテゴリの設定があれば処理 |
IfDateChanged | 日付変更 | 前のループから日付が変更されたなら処理 |
IfDateFooter | 日付変更 | 次のループで日付が変更されるなら処理 |
IfFirstArticle | 最初の記事 | ループの最初の記事なら処理(例:最初に表示される記事のみレイアウトを変える) |
IfLastArticle | 最後の記事 | ループの最後の記事なら処理 |
IfPrevArticle | 前の記事 | 前に記事が存在すれば処理 |
IfNextArticle | 次の記事 | 次に記事が存在すれば処理 |
IfCommentRating | コメントの評価 | コメントに評価があれば処理 |
IfCommentStatus | コメントの公開設定 | コメントが公開設定になっていれば処理(※ AllCommentsLoopのみ) |
IfCommentNeedAuth | コメントのID認証 | コメントのID認証を利用する設定なら処理 |
IfPreviewMode | プレビュー時 | プレビュー時なら処理 |
IfIsSearchTemplate | 記事検索結果ページ | 記事検索結果ページなら処理 |
IfIsTagTemplate | タグ別ページ | タグ別ページなら処理 |
IfIsSearchTagsTemplate | タグ絞り込み検索結果ページ | タグ絞り込み検索結果ページなら処理 |
IfIsAuthorTemplate | 著者別ページ | 著者別ページなら処理 |
IfSearchResults | 検索結果の有無 | 検索結果がある場合に処理 (通常、UnlessSearchResultsとして検索結果がない場合のメッセージに使用します) |
IfHasParentCategory | 記事カテゴリの親カテゴリの確認 | 親カテゴリが存在すれば処理 |
演算子による条件の判定
if文の独自タグに比較演算子を指定することにより、ループ内の数値などを判定することができます。 これにより、「最初の3記事のみ大きく表示」や、「5番目の記事のあとに広告を出す」などが可能になります。
使用できる演算子は、lt(<)、gt(>)、eq(==)の3つです。
設定例
ループ内で3番目より前の記事に表示(3番目は含まれない)
- HTML
<IfArticleNum lt 3> 3番目より前の記事 </IfArticleNum>
ループ内で3番目より後の記事に表示(3番目は含まれない)
- HTML
<IfArticleNum gt 3> 3番目より後の記事 </IfArticleNum>
ループ内で5番目の記事に表示
- HTML
<IfArticleNum eq 5> 5番目だけ表示 </IfArticleNum>
ループ内で5番目以外の記事に表示
- HTML
<UnlessArticleNum eq 5>5番目以外に表示</UnlessArticleNum>
- 投稿日が29日の場合
<IfArticleDateDay eq 29>今日は肉の日!</IfArticleDateDay>