WordPressでトップページとそれ以外のページで処理を分岐する方法

WordPressではトップページとそれ以外のページで処理の条件分岐ができるようになっています。

例えば、トップページはスライドショーを行うがトップページ以外では行わない。トップページにはパンくずリストは表示しないが、投稿ページには表示するといった感じです。

今回はそんな条件分岐のやり方を簡単に紹介します。

 

トップページだけ処理をする

以下のコードを記述します。

<?php if ( is_home() || is_front_page() ) : ?>
ここにトップページにだけ表示したいHTMLを記載
<?php endif; ?>

 

HTML以外にもPHPの処理も書けるし、処理の中でさらに条件分岐することもできます。

ただし条件分岐はやりすぎるとコードがぐちゃぐちゃになるので程度をわきまえましょう。

 

トップページ以外だけ処理をする

以下のコードを記述します。

<?php if ( !is_home() && !is_front_page() ) : ?>
ここにホームとにだけ表示したくないHTMLを記載
<?php endif; ?>

 

やっている処理は簡単です。

現在表示しているページがトップページ(もしくはフロントページ)かどうかを判定し、false(つまりトップページではない)場合に処理を行うというコードです。

 

トップページとそれ以外のページで別の処理を行う

「トップページでは処理A、それ以外のページでは処理Bを行う」といったような処理を行うか行わないかだけでなく、表示するページによって別の処理を行いたい場合はelseを使って処理を分岐します。

<?php if ( is_home() || is_front_page() ) : ?>
ここにトップページにだけ表示したいHTMLを記載
<?php else : ?>
ここにトップページ意外に表示したいHTMLを記載
<?php endif; ?>

 

まとめ

今回はトップページとそうでないページの条件分岐のやり方でしたが、WordPressにはもっと細かく条件を分けられるコードも用意されています。

PC版とスマホ版で処理を分岐するといったことも同じ要領で可能です。

調べてみると色々出てくるので、興味があったらやってみてください。