記事ページと固定ページでは、表示方法や管理方法が異なるため、正しいページに対して適切な処理をすることが必要です。
そこで、今回はWordPressで記事ページか固定ページかを判定する方法について解説します。
記事ページかどうか判定する(is_single)
記事ページかどうか判定するにはis_single()
を使用します。記事ページの場合にtrueを返し、そうではない場合にはfalseを返します。引数なしの場合には今開いているページが記事ページかどうかを判定します。
また、is_singleには数値/文字列/配列の引数が指定でき、今開いているページが特定の記事ページであるかどうかを判定できます。
今、サンプルコードです。
is_single(111); //ID=111の記事かどうか判定する
is_single("111"); //ID=111の記事かどうか判定する
is_single("わんこ"); //タイトル=わんこの記事かどうか判定する
is_single("dog"); //タイトルスラッグ=わんこの記事かどうか判定する
is_single( array(111, "わんこ", "dog") ); //上記のORを判定する
固定ページかどうか判定する(is_page)
固定ページかどうか判定するにはis_page()
を使用します。固定ページの場合にtrueを返し、そうではない場合にはfalseを返します。引数なしの場合には今開いているページが固定ページかどうかを判定します。
また、is_pageには数値/文字列/配列の引数が指定でき、今開いているページが特定の固定ページであるかどうかを判定できます。
今、サンプルコードです。
is_single(111); //ID=111の固定ページかどうか判定する
is_single("111"); //ID=111の固定ページかどうか判定する
is_single("わんこ"); //タイトル=わんこの固定ページかどうか判定する
is_single("dog"); //タイトルスラッグ=わんこの固定ページかどうか判定する
is_single( array(111, "わんこ", "dog") ); //上記のORを判定する
記事ページもしくは固定ページかどうかを判定する
記事ページもしくは固定ページを表示しているか判定したい場合はさきほどのis_singleとis_pageのorをとればOKです。以下、サンプルコードです。
is_single() or is_page();
各ページでの値の一覧
念のため、is_singleとis_pageの値について、カテゴリ一覧などの各ページでの値を確認しました。以下、結果です。
ページ種類 | is_single() | is_page() |
記事ページ | true | false |
固定ページ | false | true |
トップページ | false | false |
カテゴリ一覧ページ | false | false |
タグ一覧ページ | false | false |
日付一覧ページ | false | false |
検索結果ページ | false | false |
上記の表の結果を見れば、is_singleとis_pageで記事ページ/固定ページかどうか判定できることがわかりますね。