固定ページでページ毎に画像を切り替える方法

WordPRessを使っていると、ページ毎に画像を切り替えたいと思う事があります。今回は固定ページで画像を切り替える方法になります。

page.phpにコードを挿入したい

ページ毎にpage.phpを作って切り替えるというのもあるかもしれませんが、正直ページ数が増えたときにファイル数が増えるので数が多くなる場合は実用的とは言えません。固定ページのコンテンツ部分は管理画面で新しく作ることができます。なのでpage.phpだけの状態で画像を切り替える方法を考えてみたいと思います。

条件式を使う

僕はプログラムの事はわかりませんが、条件式というのがあるみたいです。条件式とは、もし○○なら▲▲する。違ったら××するといった様な感じです。どうやらこの条件式を使えば解決できるみたいです。

条件はどうする?

条件式はどうしましょう。例えばトップページ(ホーム)とそれ以外とか、トップページ(ホーム)、お知らせ、それ以外などあります。条件を決めないと行けません。僕は今回各固定ページ毎に異なる画像を出したいと思ったので、スラッグ毎にわけるようにしました。

コードを書いてみる

<?php if( is_home() ) : // トップページの場合 ?>
<?php elseif( is_page('ページスラッグを記述') ) : // 固定ページ(サイト制作)の場合 ?>
<img src="<?php bloginfo('template_url'); ?>/image/make_site/main_site_make.jpg" width="900" height="300" alt="" />

<?php elseif( is_page('hosting') ) : // 固定ページ(ホスティング)の場合 ?>
<img src="<?php bloginfo('template_url'); ?>/image/hosting/main_hosting.jpg" width="900" height="300" alt="" />

<?php elseif( is_page('make_site') ) : // 固定ページ(ホスティング)の場合 ?>
<img src="<?php bloginfo('template_url'); ?>/images/gra_main.jpg" width="910" height="300" alt="" />

<?php else : // それ以外の場合 ?>
 それ以外だった場合の反映させたい内容を記述
<?php endif; // 条件分岐終わり ?>

となりました。is_home()というのでトップページがどうか判断しています。今回page.phpに書き込んでいるのでトップではないのでスルーされます。elseif( is_page(‘ページスラッグを記述’) )ですが、ここでページスラッグを入れます。僕は半角英数字にしているので半角英数字でいれたほうがいいかもしれません。日本語でも問題ないかもしれませんが検証していないため保証はできません。