【WordPress】日替わり画像を表示する
問題
WordPressで日替わり画像を表示したい。
こういうの ↓
答え
運用ルールを作れば、プログラムはそんなに難しくない。
ルール
- メディアの新規追加から画像を追加する。
- スラッグを「higawarigazo-年月日」(例:higawarigazo-20130505)というふうにしよう。
- 毎日は大変なので、「higawarigazo-年月」(例:higawarigazo-201305)でその月の画像も登録できるようにして、その日の画像がなかったら、その月の画像が表示されるようにしよう。
実装
以下のコードを、テーマのファイルの、日替わり画像を表示したい場所に貼り付ける。
<?php //"その日"の画像をメディアから探す $_posts = get_posts(array('post_type' => 'attachment', 'name' => 'higawarigazo-' . date('Ymd'), 'numberposts' => 1)); //"その日"がなかったら if (!$_posts) { //"その月"の画像をメディアから探す $_posts = get_posts(array('post_type' => 'attachment', 'name' => 'higawarigazo-' . date('Ym'), 'numberposts' => 1)); } //画像が見つかったら if ($_posts) { //表示する echo '<img src="' . $_posts[0]->guid . '" alt="' . htmlspecialchars($_posts[0]->post_title) . '">'; } ?>
使い方
メディア → 新規登録 で、画像をアップロード。
アップロード後、編集をクリックして編集画面へ。
編集画面で、表示オプションでスラッグの入力欄を表示する。
スラッグに、ルールどおり「higawarigazo-201305」(5月用画像)や「higawarigazo-20130505」(こどもの日用画像)などを登録する。
後はほっといてOK。その月、その日になったら、該当の画像が表示される。
コメント