WordPress イシダウェブログ

WordPressでトップページ以外をPHPで条件分岐して表示を変える方法

WordPress(ワードプレス)でWebサイトを作っているとき、メインビジュアルのスライドショーは、トップページ(ホーム)だけしか表示したくない。
逆にぱんくずナビはトップページには表示しない。

そんな、トップページだけ表示を変えることはよくありますよねー。
その条件分岐のPHPの書き方を教えてもらったのでメモしておきます。

★トップページにだけ表示する場合

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

★トップページにだけ表示したくない場合

<?php if ( !is_home() && !is_front_page()) ) : ?>
ここにトップページにだけ表示したくないほにゃららを記載
<?php endif; ?>

★トップページとそれ意外で表示を切り分けたい場合

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

PHPの構文で、「!」をつけると、これ意外、って意味になるんですね。へぇぇぇ。

「is_home()」ってタグがあるんだったら、ありもしない「is_not_home()」ってのもどこかに存在するんじゃないかなーって、って考えてしまって、延々と探してしまった文系にはとても勉強になりました。

と思ったら、msngさんが作ってくれた!

functions.phpに

function is_not_home() {
	return !is_home();
}

って書いといて、

<?php if(is_not_home()); ?>
ここにトップページだけに表示したいほにゃららを記載
<?php endif; ?>

って書くだけ。これ使ったら絶対モテるはずだ!ありがとうございます。

Previous Post Next Post

You may also like

3 Comments

  • Reply 通りすがり

    「★トップページとそれ意外で表示を切り分けたい場合」 についてですが、

    と記述してしまうと、空検索の検索結果のページ(http://ドメイン/?s=)も除外されてしまうようです。
    トップページをfront-page.phpというファイル名にして、条件を
    という記述にすれば、上記問題は解決しました。

    2014年6月21日 at 10:48 PM
    • Reply 通りすがり

      すいませんphp記述がコメントから消されてたので該当部分だけ書いときます。
      <?php if ( is_home() || is_front_page() ) : ?>

      <?php if ( !is_front_page() ) : ?>

      2014年6月21日 at 10:52 PM
  • Reply Naoko Terakawa

    いよいよ切羽詰まってぐぐりだしたら、美穂さんのブログでした。functions.phpはまだ作ってませんが、参考にさせていただきます。

    2014年11月2日 at 12:05 PM
  • Leave a Reply