WordPressで月ごとに違った画像を表示してみる
概要。
季節・月ごとに違うデザインにしたいとき、トップページの画像(フラッシュ)を、月替わりで表示させたい場合のテンプレート記述。
<img src="image05.jpg"> |
などにして、月ごとの画像を出力するときに、数字部分を動的に切り替える。
「05」「06」などの文字列出力切り替えなので、css等にも応用可能。
インデックス(index.php)
インデックスページには、普通にindex.phpにPHPでdate関数を記述すれば出力される。便利ですね。
1 | <?php echo date("m") ;?> |
広告
記事ページ
記事ページはちょっと厄介で、上記の記述だと、常に現在の日付で表示されてしまう。過去の記事は、そのときの月で表示されないと季節感が狂ってしまう。
リファレンスによると、the_dateというオリジナル関数でその記事の日付が取得できるらしい。
# 書式: # 説明: 記事の投稿/更新日を出力。PHPの日付文法が使用できる。同じ日に複数の記事がある場合は、最初の記事とともに一度だけ出力される。# 位置: ループ内(テンプレートタグ/the date – WordPress Codex 日本語版)
ループの中だけ、ということなので、while文で囲む。さらにここでは月だけ出力したいので、引数はmをとって次のようになる。
1 2 3 | <?php while (have_posts()) : the_post(); ?> <?php the_date('m'); ?> <?php endwhile; ?> |
header.php
ちなみに上記記述部分はヘッダーの中にあったんだけど、header.phpは共通パーツになってしまうので、該当部分をindex.phpとsingle.phpにそれぞれ切り分けて解決。