if文がエラーで効かない?WordPressのphpテンプレート内で条件分岐の記述をする方法

WordPressでテーマの編集をしていると、「記事ページではこう、特定のカテゴリーの記事ではこう…」というように、条件によって違うものを表示させたりしたくなることがある。
php初心者にはハードルが少し高いけど、こういった記述ができるようになると格段にワードプレスの自由度が増してさらに使いやすくなる。
条件分岐のif文がエラーで効かない?
WordPressのphpファイルでif文を使う場合、書き方に気をつけないとエラーが出て効かないことがあったり、それがfunctions.phpだったりすると画面が真っ白になって焦る。
if文だけでなくコードの記述方法にはいくつかあり、それが正しければどの記述法でも問題なく動いてくれる。
ただ「このコードの書き方とこのコードの書き方は相性が悪い」という場合もあり、それが原因でエラーが出たりコードが効かなかったりする。
※functions.phpでエラーが出た場合
functions.phpでエラーが出るとブログが正常に表示されないためすごく焦る。
だけど落ち着いてそのエラーの画面を見てみると、「どのファイルの何行目にあるこの要素がエラーになっているよ」と親切に書いてくれている。
それを見て落ち着いて一つひとつエラーの原因を消していけばいい。
WordPressのphpテンプレート内でif文の記述をする方法
<?php if (is_home()): ?> パターンA <?php else: ?> パターンB <?php endif; ?>
これでトップページ(home)の場合はパターンA、それ以外の場合はパターンBが表示される。
【WordPress】特定のカテゴリーの記事下にだけphpテンプレートを呼び出す
コードの記述方法には他に以下のような形もある。
<?php
if(is_home()) {
パターンA
} else {
パターンB
}
?>
セミコロンやコロンがなくてコード文字数も少なくこっちの方が簡単そう。
だけどワードプレスのテンプレートのようにdiv要素などを間に挟んでいく場合はこれだと機能しない。
色々な書き方があるとこういうときややこしいなぁ…。






