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にそれぞれ切り分けて解決。

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *