WordPress関数is_single()とis_singular()の違いと使い分けについて【Worpress】

最終更新日:

公開日:2024-10-07

記事内に広告が含まれています。
WordPress関数is_single()とis_singular()の違いと使い分けについて【Worpress】

WordPressの条件分岐の関数でis_single()is_singular()があります。
この2つの関数の使い分けでどちらか分からなくなってしまう事があったので、内容をまとめて解説していきます。

is_single()とis_singular()の使い方

まずは基本的な使い方について解説していきます。よくあるコードを以下にまとめてみました。

<?php
    if(is_single()){
        // 投稿ページだった時の処理
    }

    if(is_singular('blog')){
        カスタム投稿タイプ「blog」の投稿ページだった時の処理
    }

    if(is_single()){
        if(is_singular('blog')){
            // 投稿ページでカスタム投稿タイプ「blog」だった場合の処理
        } else {
            // 上記以外の投稿ページだった場合の処理
        }
    }
?>

よく使用すると思われる3つの例を記述してあります。
コメントアウトでそれぞれの分岐の意味を記述してあるように、is_single()だと投稿ページかどうか判別でき、is_singuler()ではカスタム投稿タイプの投稿ページかどうかの判別ができます

上記以外にも違いがありますので、次の項目で詳しく解説していきます。

is_single()とis_singular()の違い

先ほど、大まかなis_single()is_singular()の違いを解説しましたが、その他にも違いがありますので以下にまとめてみました。

is_single()で出来る事

  • 投稿ページだとtrue、それ以外だとfalseを返す
  • 引数にはページID、ページスラッグ、ページタイトルを指定でき、指定した場合は条件に合う場合はtrueを返し、それ以外にはfalseを返す

is_singular()で出来る事

  • 引数には投稿タイプを指定でき、それ以外(ページIDなど)は指定不可
  • 引数に何も指定しない場合は、is_single()is_page()is_attachment()のいずれかがtrueの場合にtrueを返し、それ以外にはfalseを返す(is_single()は投稿ページ、is_page()は固定ページ、is_attachment()は添付ファイルページ)

is_single()is_singular()それぞれの引数に複数の値を指定する場合は、array()で配列にする事で指定可能です。
例)is_singular(array(‘blog’,’news’))

以上がis_single()is_singular()の違いとなります。
カスタム投稿を使用している場合のみis_singular()の使用をするかと思いますが、そこまで使用頻度は高くないかと思います。

さいごに

いかがでしたでしょうか。
今回は、is_single()とis_singular()の違いと使い分けについて解説していきました。
WordPressの条件分岐は必須と言っていいほど使用しますので、細かな違いも含めて覚えておいてください。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼
PAGE TOP