テーマ内条件分岐の基本
条件分岐・・・漢字で表示するととっても難しく感じる用語ですね。単純に言えば「もしも〇〇なら××、そうでなかったら△△」というのを判断させるためのPHPコードです。
お仕事などでExcelなどの表計算ソフトなどを使っていると関数で似たようなものがありますね。
Excelの場合でもif(もしも)で始まり、真の場合、偽の場合・・・という風に利用します。書き方が違うだけで基本は同じことです。
逆にテーマ内のコードを見ていてこの構文の意味が分かると「・・・なるほど!!」って結構構造が見えてきますので、ぜひ覚えておきましょう。
条件分岐の基本パターン
PHPで条件分岐をさせる基本パターンは以下の通りです
<?php if (判断する条件): ?>
条件に合っているときの動作
<?php else: ?>
条件に合わないときの動作
<?php endif ?>
紹介されているページによっては先ほどのExcel関数と同じように真の場合と偽の場合が1塊になっているコードもありますが、ここで紹介するコードの方が多分扱いやすいと思います。
判断する条件についてはWordPressの場合「is_〇〇」というのがよく使われます。is_page,is_frontpage・・・など(条件については公式関数リファレンスを参照ください)
また、条件に合っているときの動作だけを書く場合には
<?php if (判断する条件): ?>
条件に合っているときの動作
<?php endif ?>
と「条件に合わないときの動作」を示す記述を省くこともできますし、elseの部分は残して条件に合わないときの記述を空白にしておいても同じように動作します。更にelseifというのを使って複雑な条件指定をしたりすることもできますが、基本的には一番上に記述した構文を挿入して入れ子にすると自身で後でみても分かりやすくなるかもしれません。
エラーが出ないように書くには
この条件分岐をテーマファイルの中に書いたらエラーが出てどうにも・・・という方も中には見えるかも知れません。
基本的な構文は上の通りですから、単純に「条件に合っているときの動作」「条件に合っていないときの動作」のいずれかが間違っていることになります。
完成させたコードをいきなりコピペ、どこかで紹介されていたコードをそのままコピペなどでよく発生します。
コードの間違いでよくあるのは
- コードそのものが間違っている
- コード内にある要素などの指定が間違っている
- 余分な空白や全角スペースなどがどこかに潜んでいる
の3つ。
1に関してよくあるのはコピペして使ってね!というコードをコピーした際に記号などが化けてしまうこと。特に「”」「’」「,」「;」などをコードを紹介するためにわざと全角にしていたりすることがあるので注意しましょう。
2に関しては、その動作コードに何かのデータを読み込むような記述があった場合、そのデータの指定が貴サイトにないことがあるときなどです。紹介されているコードは紹介する人のサイトで使えたものですから、すべてのサイトで使える保証はどこにもありません。
3についてはコードの先頭や末尾にカーソルを合わせてスペースを削除してみれば分かるでしょう。
総じてエラー対策としては
まず条件分岐なしでコードを挿入して実行してみる
に尽きると思います。
動くコードにたいして「もしも〇〇なら」と条件を付けるわけですからね。
このページはモバイル端末でもご覧いただけます
左のQRコードを読み取っていただくと、このページのURLが表示され、簡単にアクセスできます。ぜひモバイル端末でもご覧ください。
いつでもご相談・お見積りの依頼を受け付けています
Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。
※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。
【スポンサーリンク】