WordPressの条件分岐で「○○なときは□□を表示」っていうケースが多々あって、その用途にあった関数で条件分岐しています。
ただ、たまにその逆の「○○以外のときは□□を表示」なんてときもあるんですよね。
そんなときの対処法をご紹介します。
「○○以外のときは□□を表示」
例えば「トップページ以外のときはこれを表示させたい」というように、トップページではなにも表示させずにそれ以外ではこれを表示させたいっていうケースは結構あると思うんですよ。そのときはこのように書きます。
<?php if ( !is_home() ) : ?> トップページ以外で「A」を表示 <?php endif; ?>
たったこれだけです。
「トップページだけはこれを出したくない!」と思ったらこの方法を使えば一発解決ですよ。
上記の例はトップページにだけ表示させたいので「is_home
」と書いてますが、ここは別の関数に置き換えることでいろいろなシーンで活用できます。
ちなみに、これまではこのように書いてました。
<?php if (is_home()) :?> <?php else: ?> トップページ以外で「A」を表示 <?php endif; ?>
「トップページではAを表示し、それ以外のページではBを表示する」という条件分岐を書いて、トップページの方には何も書かないということで実現させてました。
これでも全然問題ないんですけどね。ただ、前者の方がスマートかなっていうときに今回ご紹介した「!」を加えた記述をするのが良いと思います。
最後に
PHPが苦手な僕はこういうところでよくつまずいてます…。日々勉強ですね。
以前にこんな条件分岐の記事も書いてます。複雑な方法をお探しの方はこちらもどうぞ。