WordPressの相談会でも良く聞かれるPHPでのIF文の書き方3パターン

先日のWordPress個別相談会で、IF文の書き方が色々ありすぎて、わけがわからないという愚痴を聞いたので少しマトメておきます。

PHPでのIF文の書き方は3つ

目次

{ } を使うパターン

1番オーソドックスな書き方かなと思います。
WordPressで利用する場合は、テンプレートファイル(index.phpやpage.phpなどなど)で利用するよりかは関数ファイル(functions.php)で利用することが多いです。

なぜ、テンプレートファイル(index.phpやpage.php)ではあまり利用しないかと言うと、テンプレートファイルには多くのHTMLタグが書かれていいます。
その中にHTMLタグで用いることがない { } が記載されていると可読性が悪くなるので、あまり使わない方が良いんじゃないかと思います。( テンプレートファイルでも{ } を利用しても問題なく動くことは動きます)

画像11

: endif; を使うパターン

こちらは { } とは逆にテンプレートファイルで良く使うパターンです。

画像2

{ } を使うことなく if else endif と書くことでifの始まりと終わりを明示的に示しています。

この時に「if(is_archive()):」の「:」と「endif;」の「:」の違いが分からないと質問を良く受けます。これに関してうまく説明が出来ないのですが、感覚的に言うと、

「:(コロン)」は「:(コロン)」の前の処理(if文の判定)の影響を受けて、後の処理を実行するという理解で良いかと思います。
「if(is_archive():」であれば、「:(コロン)」の前の「if(is_archive()」の判定を受けて、「:(コロン)」の後ろのプログラムを実行する。

「;(セミコロン)」は「;(セミコロン)」の前の処理は完全に気にせず、「;(セミコロン)」の後ろの処理を実行するという理解で良いかと思います。

1行で書くパターン

画像3

if文の判定を受けて、その後の処理が文章を出力したりなど1行でかけるような簡単処理を実行する場合は1行でif文を書くこともあります。

このようにざっくりですが、IF文には大きく3つのパターンがあります。
WordPressでテンプレートをカスタマイズする際にIF文が書けるのと書けないのとではカスタマイズ出来ることが大幅に変わってきます。IF文が苦手な人は頑張って覚えましょう〜♪

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

「エンジニアのためのWordPress開発入門」を執筆しました!

WordPressを使った開発案件は依然多く、それに携わるWebエンジニアも多数存在します。ただし、モダンな開発手法に慣れたWebエンジニアがWordPressに初めて触れたとき、その独特のアーキテクチャやシステムの構成に戸惑いを感じることがあるかもしれません。だが、WordPressは、それらを補ったうえにさらに強力なメリットを持ち合わせています。本書は、PHPプログラマがWordPressで開発する際に必要な基礎知識から、現場で役立つ具体的なカスタマイズ手法や開発のポイントについて詳しく解説しています。

この記事を書いた人

NPO法人のHP制作(WordPress)やkintoneを使った業務システムの構築をしています。サイボウズ株式会社公認kintoneエバンジェリスト/CoderDojo西宮と梅田のチャンピオン/認定NPO法人宝塚NPOセンター理事/NPO法人SEIN理事/

コメント

コメント一覧 (1件)

コメントする

目次
閉じる