アーカイブテンプレートの自動変数

wrote2008.06.21

アーカイブテンプレートには、各々のテンプレートの種類やテンプレートが出力するアーカイブの種類に合わせて自動的に変数が設定され、値として「1」が代入されます。また、各々には「archive_class」という変数が設定され、値としてテンプレートが出力するアーカイブの種類を表す値が代入されます。

WP B BL
D W M Y U C
  D W M Y   D W M Y
main_template 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
archive_template 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
archive_listing 1 1 1 1 1 1 1 1 1 1 1 1 1 1
feedback_template 1 1
page_archive 1
page_template 1
entry_template 1
datebased_only_archive 1 1 1 1
datebased_daily_archive 1
datebased_weekly_archive 1
datebased_monthly_archive 1
datebased_yearly_archive   1
module_yearly_archive 1
author_archive 1 1 1 1 1
author_daily_archive 1
author_weekly_archive 1
author_monthly_archive 1
author_yearly_archive 1
module_author-monthly_archive 1 1
category_archive 1 1 1 1 1
category_daily_archive 1
category_weekly_archive 1
category_monthly_archive 1
category_yearly_archive 1
module_category-monthly_archive 1 1
WP
ウェブページ
B
ブログ記事
BL
ブログ記事リスト
D
日別
W
週別
M
月別
Y
年別
U
ユーザー別
C
カテゴリー別
アーカイブの種類 archive_classの値
ウェブページ page-archive
ブログ記事 entry-archive
ブログ記事リスト 日別 datebased-daily-archive
週別 datebased-weekly-archive
月別 datebased-monthly-archive
年別 datebased-yearly-archive
ユーザー別 author-archive
日別 author-daily-archive
週別 author-weekly-archive
月別 author-monthly-archive
年別 author-yearly-archive
カテゴリ category-archive
日別 category-daily-archive
週別 category-weekly-archive
月別 category-monthly-archive
年別 category-yearly-archive

アーカイブテンプレートの自動変数とarchive_calssの値の「_」と「-」の違いに注意。

これらの変数の値を条件判断することで、テンプレートごとに異なる内容を表示することができます。
たとえば、出力するアーカイブの種類が「ブログ記事リスト - カテゴリ - 月別」の場合、テンプレートに何も記述されていなくても、以下の変数が宣言されています。

<$MTSetVar name="main_template" value="1"$>
<$MTSetVar name="archive_template" value="1"$>
<$MTSetVar name="archive_listing" value="1"$>
<$MTSetVar name="category_archive" value="1"$>
<$MTSetVar name="category_monthly_archive" value="1"$>
<$MTSetVar name="module_category-monthly_archive" value="1"$>

<$MTSetVar name="archive_class" value="category-monthly-archive"$>