2022年7月18日

is_single()なのか? is_singular()なのか?

こんばんは。

PHP初心者なので、当ポートフォリオサイトをサンドバッグにして開発の勉強をしています。

今回は、当ブログのリンクをツイート等に貼ったときに表示するサムネイル画像を、投稿ページごとに変えてみました。OGPの画像のタグを、ブログの投稿ページならサムネ画像になるよう、条件分岐させます。

最初投稿ページだからis_single()かな、と思いました。しかし、色々調べたところ、is_singular()を使うのが正解でした。今後同じところで引っかかりそうな予感がするので、備忘録とします。では、その違いは……。

is_single()は、投稿ページであるかどうかの条件分岐。パラメータは投稿ID及びスラッグが使用できます。しかし、投稿タイプの指定は不可

is_singular()は、パラメータが空っぽだと投稿ページまたは固定ページまたは添付ファイルページ(というのがあるのを初めて知りました……)であるかどうか。パラメータでそれぞれも絞り込むことができて、投稿タイプの指定も可

……ということで、投稿タイプの指定ができるかどうかの差でした。当ブログはカスタム投稿で管理していて、かつ他にも動画作品等の投稿タイプがあるので、ブログ投稿のみヒットさせたい場合はis_singular()が正解でした。ちなみに”singular”は「唯一の」とか「単数の」という意味を持つ単語らしいです。