WordPressのカスタム投稿タイプやカスタムタクソノミーを扱うにあたり、予約語について学んだので備忘録としてまとめます。
予約語とは?
WordPressで、カスタム投稿タイプやカスタムタクソノミーなどを追加する場面では、任意の名前(スラッグ)を定義する必要があります。
このとき注意しなければいけないポイントが、WordPressには名前の定義に使用してはいけない「予約語」と呼ばれる単語(文字列)が存在するということです。
予約語はWordPressがそのシステムを動かすために定義している単語です。
もし誤ってカスタム投稿などに予約語と同じものを定義してしまうと、単にその機能が動作しないだけでなく、WordPress全体にエラーを引き起こす恐れがあります。
主な予約語一覧
以下は、WordPress公式サイトの開発者リソース内「register_taxonomy」のページに掲載されている予約語の一覧です。
予約語はWordPressのバージョンアップにともなって増減する可能性があるので、必ずしも下記の予約語が全てとは限りません。
また、使用しているテーマやプラグインによって、予約語はさらに増えるので注意が必要です。
- attachment
- attachment_id
- author
- author_name
- calendar
- cat
- category
- category__and
- category__in
- category__not_in
- category_name
- comments_per_page
- comments_popup
- custom
- customize_messenger_channel
- customized
- cpage
- day
- debug
- embed
- error
- exact
- feed
- fields
- hour
- link_category
- m
- minute
- monthnum
- more
- name
- nav_menu
- nonce
- nopaging
- offset
- order
- orderby
- p
- page
- page_id
- paged
- pagename
- pb
- perm
- post
- post__in
- post__not_in
- post_format
- post_mime_type
- post_status
- post_tag
- post_type
- posts
- posts_per_archive_page
- posts_per_page
- preview
- robots
- s
- search
- second
- sentence
- showposts
- static
- status
- subpost
- subpost_id
- tag
- tag__and
- tag__in
- tag__not_in
- tag_id
- tag_slug__and
- tag_slug__in
- taxonomy
- tb
- term
- terms
- theme
- title
- type
- types
- w
- withcomments
- withoutcomments
- year
予約語との重複を避けるためには、名前(スラッグ)を定義する場面では接尾語や接頭語を付けるようにすると良いかもしれません。
例えばカスタムタクソノミーで「商品カテゴリー」というものを定義したいときには、「cat」は予約語ですが「items-cat」というように接頭語「items-」を付ければ使用しても問題ありません。
まとめ
以上が、WordPressの予約語についてのまとめです。
WPのカスタム投稿タイプやカスタムタクソノミーの設定方法についてはこちらのページにまとめています。