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

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

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

まとめ

いかがでしたか?

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ナナミ

ナナミ

1991年生まれ。
文系大学卒業後、フリーターを経てフロントエンジニアになる。
HTML、CSS、 jQueryなどのコーディングやCMS設計に従事。
文系からエンジニアを目指す人にもわかりやすい記事を目指して、日々精進中。
体は日本酒でできている。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー