web-dev-qa-db-ja.com

年、月、日のアーカイブを別々に表示する

日次アーカイブを月次/年次アーカイブとは異なる方法で表示したいのですが。アーカイブテンプレートが日次アーカイブと月次/年次アーカイブのどちらで作成されているかどうかを確認するにはどうすればよいですか。

1
user3903

条件付きタグFTW。

  • is_month() :現在、毎月のアーカイブを表示しています
  • is_day() :現在1日のアーカイブを閲覧中
  • is_year() :現在年間アーカイブを閲覧中
  • is_time() :現在時間ベースのアーカイブを表示しています(毎時、毎分、さらには数秒)

それで、これらの条件のそれぞれについてテストするために、あなたのarchive.phpに(あるいはあなたのアーカイブページに使用されているどんなテンプレートでも)このような何かを追加してください:

// Check what posts were returned in order to find what date the archive is for
global $posts; 
$archivedate = strtotime( $posts[0]->post_date);
if (is_day()) {
    echo "Daily archive: ".date('m/d/Y', $archivedate);
} else if (is_month()) {
    echo "Monthly archive: ".date('F Y', $archivedate);
} else if (is_year()) {
    echo "Yearly archive: ".date('Y', $archivedate);
}
3
goldenapples