カスタム投稿タイプの「public=>false」は4つの設定をしてる

製作 プログラム

最終更新日:2021/07/11

ラムネグから一言:寝る前に読むとくだらなすぎて逆に寝れると好評なすごい適当なブログをこっちではじめてます.

ワードプレスのカスタム投稿タイプを追加するときにregister_post_typeっていうのを使いますよね。

管理画面のどこらへんに表示するのか、とかそういうのを設定するやつです。

そしてあまりやることはないんですが、このregister_post_typeの設定に「public」という項目があり、通常はtrueなんですがfalseにしたらどうなるの?というのをちょっと紹介したいと思います。

「public=>false」は4処理1まとめ!

「public=>false」を設定すると実は4つの別の処理をいっしょぐたに「えいっ」と設定しているんです。けっこう意外ですよね。

その4つの処理というのがこれら。

  1. show_ui:管理画面に表示するかどうかのやつ
  2. publicly_queryable:詳細記事、記事一覧を生成するかどうかのやつ
  3. exclude_from_search:「サイト内検索」の検索結果から除外するかどうか
  4. show_in_nav_menus:メニュー作るときに選択候補にいれるかどうか

「public=>false」とするだけでこの4つが一気に変更されるってワケ。

具体的には、

  1. show_ui「false」:管理画面に表示しません!
  2. publicly_queryable「false」:詳細記事、記事一覧作りません!
  3. exclude_from_search「false」:サイト内検索で出てきません!
  4. show_in_nav_menus「false」:メニューの候補にも出てきません!

という風にぜんぶfalseになるんですね。

結局管理画面にもメニューにも、検索にもそして記事としても見れない、つまり存在しないのと同じことになるんです。

ちなみに「public=>true」にしたら逆に全部がtrueになります。どっちにしてもpublicとこの4つの設定は連動してるよーという事ですね。

んじゃいつ使うの?

「public=>false」を設定すると4つが一気にfalseになってそのカスタム投稿タイプがないのと同じになるんですが、例えばこのうち1個だけtrueにしたりして使うのがイイ感じなんです。

例えば管理画面だけで使いたい場合は「public=>false」「show_ui=>true」にすれば管理画面では見れるけど、表側、というのかサイトを訪れた方はそのカスタム投稿タイプの存在を知る由もない、みたいな状態にできます。

ちなみにarrayで「public=>false」「show_ui=>true」を連続して設定すると思いますが、並び順はどっちが先でもOK。なんか先にpublicでぜんぶfalseしちゃってから個別にtrueしなくちゃいいけない感じがしますが、先に「show_ui=>true」て書いて、その後に「public=>false」て書いても全然OKです。

まとめ

ワードプレスでカスタム投稿タイプを追加するときに使うregister_post_type。その設定項目の「public」についてくわしく紹介しました。

まとめるとshow_ui、publicly_queryable、exclude_from_search、show_in_nav_menusの4つを「false」にするのが「public=>false」てこと。参考にしてみてくださいね。

【おしらせ、というか完全なる宣伝】

文体がもうぜんぜん適当すぎてあれだけどものすごい自由に書いてるブログ「檸檬だくだく」もよろしく.寝る前に読める恐ろしくくだらないやつです.

こんなにも一ミリも目を引かれないタイトルを取り扱ってます: アジアという語感 / 精神的食パン限界値 / 続・マーガリン問題 /