個人的に役立ったデザイン素材やTips、WEBサービス、役立つグッズ、あれやこれやをご紹介

WordPressのカスタマイズでよく使うWordPressのif文と条件分岐タグ15

WordPressのカスタマイズでよく使うWordPressのif文と条件分岐タグ

WordPressのカスタマイズでよく使うWordPressのif文と条件分岐タグを、個人的にまとめてみました。
普段からWordPressを利用している関係上、if文を使った条件分岐をよく使います。
if文の条件分岐はとっても便利ですからね。
今回は普段よく利用する条件分岐タグに絞ってまとめてみました。
ご参考になれば幸いです。

WordPressのif文の使い方

条件が1つだけの場合

まずは、WordPressのif文の使い方をおさらいしておきましょう。
条件分岐はif文を利用して「もしAならばB」というように、ある条件を満たした場合の処理方法を指定するものです。
具体的には以下のように書きます。

「ホームの場合はバナーを表示」というような使い方ができます。
この例は、条件が1つだけの場合ですが、実際には、条件が1つだけとは限りません。
その場合は、複数の条件を指定します。

なお、上記の例はPHPの記法ですが、WordPressでは以下のようなブロックをはっきりさせる書き方も可能です。

PHPの記法に比べてわかりやすいですよね。
テンプレートで使用する場合は、こちらの書き方がオススメです。
ただし、「:」「;」を間違えないように注意しましょう。
「;」は最後だけです。

条件が複数ある場合

条件が複数ある場合には、「でなければ」を意味するelse文を組み合わせて利用します。

「ホームの場合はバナーAを表示、固定ページの場合はバナーB、どちらでもない場合はバナーを非表示」といった使い方ができます。

条件には論理演算子を使える

条件には論理演算子を利用できます。

論理演算子
and(かつ) if(条件A && 条件B)
条件Aかつ条件Bの場合(どちらにも合うもの)
or(もしくは) if(条件A II 条件B)
条件Aもしくは条件Bの場合(どちらか一方に合うもの)
NOT(〜でない) if(!条件A)
条件Aでない場合(条件に合わないもの)
==(等しい) if(条件A == 条件B)
条件Aと条件Bが等しい場合
!=(等しくない) if(条件A != 条件B)
条件Aと条件Bが等しくない場合
<(〜より小さい) if(条件A < 条件B)
条件Aが条件Bより小さい場合
>(〜より大きい) if(条件A > 条件B)
条件Aが条件Bより大きい場合
<=(〜以下) if(条件A <= 条件B)
条件Aが条件B以下の場合
>=(〜以上) if(条件A <= 条件B)
条件Aが条件B以上の場合
===(値と型が等しい) if(条件A === 条件B)
条件Aと条件Bの値と型が等しい場合
!==(値と型が等しくない) if(条件A !== 条件B)
条件Aと条件Bの値と型が等しくない場合

以上を踏まえて、よく使う条件分岐を見て行きましょう。

サイトののメインページかどうかで利用する条件分岐タグ:is_home()

サイトのメインページかどうかを判断する場合には、is_home()を使います。

サイトのフロントページかどうかで利用する条件分岐タグ:is_front_page()

サイトのフロントページかどうかを判断する場合には、is_front_page()を使います。

個別投稿のページかどうかで利用する条件分岐タグ:is_single()

個別投稿のページかどうかを判断する場合にはis_single()を使います。

個別投稿のページのID5かどうかで利用する条件分岐タグ:is_single(’5’)

個別投稿のページのID5かどうかを判断する場合には、is_single(’5’)というように使います。

個別投稿のページのスラッグ(例:test)で利用する条件分岐タグ:is_single(’test’)

個別投稿のページのスラッグ(例:test)かどうかを判断する場合には、is_single(’test’)というように使います。

固定ページかどうかで利用する条件分岐タグ:is_page()

固定ページかどうかを判断する場合にはis_page()を利用します。

固定ページのID5かどうかで利用する条件分岐タグ:is_page(‘5’)

固定ページのID5かどうかを判断する場合にはis_page(‘5’)というように利用します。

固定ページのスラッグ(例:test)で利用する条件分岐タグ:is_page(’test’)

固定ページのスラッグ(例:test)かどうかを判断する場合には、is_page(’test’)というように使います。

カテゴリーページであるかどうかで利用する条件分岐タグ:is_category()

カテゴリーページであるかどうかを判断する場合にはis_category()を利用します。

タグのアーカイブページであるかどうかで利用する条件分岐タグ:is_tag()

タグのアーカイブページであるかどうかを判断する場合にはis_tag()を利用します。

タクソノミーのカイブページであるかどうかで利用する条件分岐タグ:is_tax()

タクソノミーのカイブページであるかどうかを判断する場合にはis_tax()を利用します。

PCとスマホで表示を切り替えるときに使う条件分岐タグ:is_mobile()

PCとスマホで表示を切り替えたいという場合には、is_mobile()というテンプレートタグを利用します。
しかし、このままではすぐに使えないので、functions.phpに以下の記述をします。

以上を記述した上で、以下のように利用します。

ある倍数であるかどうかを判断する場合の条件分岐の使い方

WordPressループなどで、特定の出力順にだけ別の処理を行いたいといった場合があると思います。
ここでは例えば、3の倍数のときだけ、特定のクラス名を付けたいケースです。
こうしたケースでは、便利な条件タグは存在しないので、変数を利用して条件分岐を行います。

$count=0という変数を作成し、実行する回数を$count++を使ってカウントします。
3の倍数ですから、3で割り切れる場合という条件()を作成し、条件にあった場合だけ、echo ‘classname’というクラス名を出力するにようしています。

実際に出力すると、以下のようになります。
3の倍数のときだけ、classnameが表示されています。

最後の投稿かどうかを判断する場合の条件分岐の使い方

今度は、投稿が最後の場合だけ別の処理を行いたいというケースでの条件分岐です。
WordPressループなどで、最後の投稿にだけ別の処理を行いたいといった場合があると思います。
ここでは例えば、最後の投稿だけ、特定のクラス名を追加したいケースです。
こうしたケースでも、便利な条件タグは存在しないので、オリジナル関数is_last_postを利用します。
(この方法は「WordPress:最初・最後・奇数・偶数の記事にそれぞれクラスを付けたり、表示内容を変更する方法」をもとに作成しています)

まず最初にis_last_post関数をfunctions.phpに定義します。
これで、is_last_post関数が、投稿の最後であるかとどうかを判断できるようになります。

定義した関数をもとに、条件分岐を行います。

定義した関数is_last_postを使って条件分岐を行います。
条件にあった場合だけ、last-workというクラス名を出力するにようしています。

実際に出力すると、以下のようになります。
最後の投稿だけ、last-workというクラス名がついています。

最初の投稿かどうかを判断する場合の条件分岐の使い方

逆に、最初の投稿かどうかを判断する場合は、関数の定義内容を変更します。
(この方法も「WordPress:最初・最後・奇数・偶数の記事にそれぞれクラスを付けたり、表示内容を変更する方法」をもとに作成しています)

まず最初にis_first_post関数をfunctions.phpに定義します。
これで、is_first_post関数が、最初の投稿であるかとどうかを判断できるようになります。

条件分岐は、まったく同じ形になります。

定義した関数is_first_postを使って条件分岐を行います。
条件にあった場合だけ、first-workというクラス名を出力するにようしています。

WordPressをカスタマイズするときに役立つ本

ご参考になりましたでしょうか。
WordPressのカスタマイズでよく利用するif文や条件分岐タグには、まだまだ種類があります。
それらについては、追記という形で記事を充実させていく予定です。

お役に立てましたら、以下どれでも結構のですので、ポチリと……。

  • 0
  • 0
  • 0
  • 1

Amazonアソシエイト・プログラム規約による記載
当サイトはamazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

この記事を読んだ人はこんな記事も読んでいます

おすすめはコレ!WordPressのバックアップ用プラグインベスト5

おすすめはコレ!WordPressのバックアップ用プラグインベスト5

WordPressのバックアップ用プラグインでオススメのプラグインをご紹介します。 WordPre

記事を読む

エックスサーバーを使ってWordPressをサブディレクトリ型でマルチサイト化する:既存サイトがルート直下にある場合

エックスサーバーを使ってWordPressをサブディレクトリ型でマルチサイト化(1つのWordPre

記事を読む

レスポンシブに対応したWordPress用テーマ90+(2014年ベストテーマ)

レスポンシブに対応したWordPress用テーマ90+(2014年ベストテーマ)

レスポンシブWEBデザインに対応したWordPress用テーマをまとめてご紹介します。 今回ご紹介

記事を読む

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.2

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.2

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用のオリジナルテーマにする方

記事を読む

WordPress記事作成マニュアル:クライアント向けをInDesignで作成しました(ご自由にどうぞ)

WordPress記事作成マニュアル:クライアント向けをInDesignで作成しました(無料です。ご自由にどうぞ)

WordPress記事作成マニュアルをInDesignで作成しました。 知り合いのサイトをWord

記事を読む

無料で利用できるレスポンシブWEBデザイン対応のWordPress用テーマ249

photo credit: Kalexanderson via photopin cc レスポ

記事を読む

WordPressのテーマ検索に最適!テーマをより探しやすくした検索サービス「ThemeBro」

WordPressのテーマ検索に最適!テーマをより探しやすくした検索サービス「ThemeBro」

WordPressのテーマ検索に最適な、テーマ検索に最適化された検索サービス「ThemeBro」をご

記事を読む

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.7プラグイン編

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.7プラグイン編

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用のオリジナルテーマにする方

記事を読む

無料で利用できるキレイなデザインのWordPressテーマ50(2015年版)

無料で利用できるキレイなデザインのWordPressテーマ50(2015年版)

無料で利用できるキレイなデザインのWordPressテーマ2015年版をご紹介します。 WordP

記事を読む

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.1

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用オリジナルテーマにする方法vol.1

HTML+CSSページ(レスポンシブWEBデザイン)をWordPress用のオリジナルテーマにする方

記事を読む