WordPress独自関数is_pageを使ってページの種類で条件分岐する方法

こんにちは! ライターのナナミです。

自作テーマを作っているとき、ページによってコードを切り替えたり、表示を切り替えたりしたい…なんてことがあったりしませんか?

実はWordPress独自関数には、ページの種類を判定してくれるものがあるんです。

今回はその中から、固定ページを判定するis_pageに注目!
単純に固定ページかどうかを判定する方法から、固定ページの中からピンポイントでページを指定する方法まで解説していきます。

さらに他ページの判定関数もささっと紹介しちゃいます。

WordPressのページを判定して、表示の切り替えなんて楽勝になっちゃいましょう!

目次

条件分岐とは?

ページの種類を判定して処理や記述を分ける方法を、条件分岐と言います。

この条件分岐はWordPress独自のものではなく、プログラミングに必須とも言えるポピュラーなものです。

プログラミングを少しでもやったことがある方は、if文というものをご存知だと思います。
そう、そのif文を使うことで、WordPressでも条件分岐を行なうことができるのです。

以降の解説は、if文について理解していることを前提に進めていきます。
もしif文のことがよくわからない場合は、まずは下記の記事でif文の基本をバッチリ抑えてから読み進めてみてくださいね。

>>もし〜だったら〜する!PHPのif文の使い方

is_pageとは?

固定ページは、is_pageというWordPress独自関数で指定することができます。

このisで始まる関数は、条件分岐タグと呼ばれています。
ページや状況を判断して、処理の内容を分岐させるための関数ということです。

そんな条件分岐タグは、大体下記のように記述します。

PHP

<?php
if ( is_page(ページの指定) ) {
    //固定ページだった時の処理内容
}
?>

ページの指定と書いてある部分は、どの固定ページなのかという詳細な条件を入れることができます。

指定方法は下記の3つです。

指定方法説明記述例
ID固定ページのIDで指定します1、2、3などの半角数字
タイトル固定ページのタイトルで指定します‘アバウト’ ’Blog’などの文字列
スラッグ固定ページのスラッグで指定します‘about’ ’blog’などの半角英数字

では、具体的な指定方法を確認していきましょう!

固定ページかそうじゃないかを判定

単純に固定ページとそれ以外で判定する場合は、下記のように書けばOKです。

PHP

<?php
if ( is_page() ) {
    //固定ページだった時の処理内容
}
?>

かっこの中に何も入れなければ、固定ページの場合という条件で分岐してくれます。

もちろん否定演算子も使えるので、下記のように頭に!を入れれば固定ページではない場合という条件にすることができます。

PHP

<?php
if ( !is_page() ) {
    //固定ページ以外での処理内容
}
?>

固定ページの中から1つだけを指定

固定ページの中からある1つだけを指定する場合は、かっこの中にその固定ページを指定するための記述を入れます。

PHP

<?php
//IDで指定する場合
if ( is_page(1) ) {
    //固定ページで、IDが1だった時の処理内容
}

//タイトルで指定する場合
if ( is_page(‘アバウト’) ) {
    //固定ページで、タイトルがアバウトだった時の処理内容
}

//スラッグで指定する場合
if ( is_page(‘about’) ) {
    //固定ページで、スラッグがaboutだった時の処理内容
}
?>

複数の固定ページを指定

複数の固定ページを指定する場合は、かっこの中の記述を配列で指定します。

この場合、下記のように指定方法がバラバラでも大丈夫です。

PHP

<?php
if ( is_page(array( 1, 'アバウト', 'blog') ) {
    //固定ページで、IDが1の時、タイトルがアバウトの時、スラッグがblogだった時の処理
}
?>

その他のWordPress条件分岐

もちろんこの条件分岐タグは、固定ページ以外のものも用意されています。
よく使うものを中心に、サクッと紹介していきましょう。

ページの種類条件分岐タグ
トップページis_home
投稿詳細ページis_single
一覧ページis_archive
カテゴリーページis_category
タグページis_tag

上記以外にも色々な種類があるので、詳しくはリファレンスで確認してみてください。

>>条件分岐タグリファレンス

まとめ

いかがでしたか?

条件分岐を理解すれば、テーマの作成がめちゃくちゃ捗ります。
プログラミングに慣れている人ならサクッとできると思いますが、ちょっと自信がないな…という初心者さんは、この記事を確認しながらぜひチャレンジしてみてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次