仙台のWEB担当者の方、こんにちは!今日はWordPressで便利な「条件分岐」の小技を一つ。
WordPressで「トップページだけ表示させる」方法です。具体的には、
- トップページにだけバナーを表示させたい!
- トップページだけメッセージを表示させたくない!
といった時にとても便利な方法です。では、早速。
<?php if ( is_home() ) : ?>
//トップページにだけ表示
<div id="image"><img src="/top-image.jpg"></div>
<?php else: ?>
//トップページ以外で表示
<div id="image"><img src="/default-image.jpg"></div>
<?php endif; ?>
もうお分かりですよね。
if ( is_home() ) は「トップページなら」という意味です。
そして、elseは「トップページ以外なら」という意味になります。
応用編
少しだけ応用すれば、いろいろなパータンで使用することができます。
トップページだけ!他のページは必要ない場合
「トップページだけ表示させて、他のページは何も表示させない」場合は、
<?php if ( is_home() ) : ?>
//トップページにだけ表示
<div id="image"><img src="/top-image.jpg"></div>
<?php endif; ?>
elseを記述しなければいいだけです。
トップページだけ表示させたくない!
トップページだけ表示させたくない場合は、!で否定して!is_home()とします。
<?php if ( !is_home() ) : ?>
//トップページにだけ表示
<div id="image"><img src="/default-image.jpg"></div>
<?php endif; ?>
おまけ
「固定ページをホームに設定している」場合は、以下のように記述しなければいけません。
<?php if ( is_front_page() ) : ?>
//トップページにだけ表示
<div id="image"><img src="/top-image.jpg"></div>
<?php else: ?>
//トップページ以外で表示
<div id="image"><img src="/default-image.jpg"></div>
<?php endif; ?>
is_home()をis_front_page()に変更します。これで固定ページをホームに設定している場合、はトップページだけ表示されるようになります。
どちらも対応できるように両方を指定
以下のように ||(ORの意味)で繋げれば、両方に対応してくれます!これが最終形ですね。
<?php if ( is_home() || is_front_page() ) : ?>
//トップページにだけ表示
<div id="image"><img src="/top-image.jpg"></div>
<?php else: ?>
//トップページ以外で表示
<div id="image"><img src="/default-image.jpg"></div>
<?php endif; ?>
まとめ
トップページは特別なコンテンツを配置する場合が多いです。
違うテンプレートを用意するのも手ですが、例えば画像1つで新しいテンプレートを作るのはとても非効率です。是非、試してみてください!
それではまた!仙台・宮城でのホームページ制作やサイトリニューアルならダテナまで!