PHPの「getdate()関数」を使って毎月自動的に画像を入れ替える方法
当サイトではアフィリエイト広告を利用しています。
企業のサイトなどでは月ごと(or季節ごと)にトップページのイメージなどを差し替えて雰囲気を変えることはよくやっていると思います。もちろん個人ブログでも季節感を大事にしている人はやっていると思いますが…
定期更新の中に組み込んで対応すればいいのですが、もっと簡単にできないかと思い色々と探した結果PHPの「getdate()関数」を使えば簡単にできることが判明しました(って知っている人にとっては当然かもしれませんが…)
PHPの「getdate()関数」を使って毎月自動的に画像を入れ替えるやり方
方法はざっくりといって2パターンありますが、まずこの2つを準備します。
1、月の雰囲気にあった画像を用意(スライドショーの場合はその分も)
2、画像のファイル名を月別で設定(英語ですよ)
<参考[月の英語名]>
1月 | 2月 | 3月 | 4月 | 5月 | 6月 |
---|---|---|---|---|---|
January | February | March | April | May | June |
7月 | 8月 | 9月 | 10月 | 11月 | 12月 |
July | August | September | October | November | December |
PHPの関数設定
次にPHPの関数を設定し、現在の月を取得できるようにしておきます。
[php]<?php
date_default_timezone_set(‘Asia/Tokyo’); //日本時間にする
$today = getdate()
;?>[/php]
[php]date_default_timezone_set(‘Asia/Tokyo’);[/php]
を書いているのは何もしないと、取得する時間が「グリニッジ標準時(イギリス)」になってしまい、日本との時間差が9時あるので、それを日本時間にするためのものです。
ここは使用するサイトに合わせて削除するなりしてください。
CSSのクラス名かファイル名を変更
動的に変更させる方法としては
1、CSSのクラス名を変える
2、画像のファイル名を変える
の2つが考えれます。
ここからは好み&HTMLの作り方の問題になるので、使いやすい方で対応すれば問題無いと思います。
記述としては具体的にはこんなイメージです。
1、CSSのクラス名
[php]<div class="<?php echo $today[‘month’]; ?>">~</div>[/php]
2、画像のファイル名
[php]<img src="./images/<?php echo $today[‘month’]; ?>.jpg" width="xxx" height="xxx" alt="nnn">[/php]
<参考>
画像の「alt」を月別に変更したいような時は「alt」にこれを入れる方法もあります
[php]alt="<?php echo $today[‘mon’]; ?>月のイメージ"[/php]
以上で設定が終了したので、設定が問題なければ月が変わると自動的に画像が変わるはずです。
一般的なブログでは活用する場面は少ないかもしれませんけど、アフィリエイトサイトでシーズンによって変わるような内容を提供している人はうまく使うといいと思います。
<余談>
PHPの関数を使うので別にWordPressで構築したサイト以外でも使用することはできますけど、WordPressを使わないでPHPで構築している人はそんなに多くないと感じているので、WordPressのカテゴリー入れました^^
あっ、、、、
完全に書き忘れていますが、PHPの関数を組み込む前にCSSのクラス名or画像のファイル名を変動させた時にイメージ通りの表示ができるか確認しておいたほうがいいですよ。
Sponsored Links