独自の投稿タイプを作成

独自の投稿タイプを作成するには、functions.phpファイルにinitのアクションフックでregister_post_type関数を使用します。

  • ※ 投稿タイプは標準の投稿機能を独自に開発できる機能です。

構文

引数名 初期値 説明
第一引数
必須
キー string 投稿タイプの識別子。
スラッグとしても使用される。
キーとは別にスラッグを指定したい場合は、オプションのrewriteキーにあるslugキーを使用する。
第三引数 オプション array array() 詳細な設定。
詳しくは、オプションを参照。

オプション

キー 初期値 説明
label string 投稿タイプの名称。
サイドメニューや見出しなどで表示される。
labels array 様々な箇所で表示する名称。
詳しくは、labelsキーの内容を参照。
description string 投稿タイプの説明文章。
public boolean false 管理画面に表示かどうかの全ての初期値。
例えばshow_uiキーなど。
なお、publicをtrueにしないとshow_in_restがtrueの際、パーマリンクパネルが表示されない。
(show_in_restがfalseの場合はスラッグを表示することができる)
hierarchical boolean false 記事を親子関係(階層)で構成できるようにするか。
show_ui boolean publicキーの値 管理画面に表示するか。
show_in_menu boolean show_uiキーの値 メニューに表示するか。
menu_position integer false メニューの表示する位置。
初期はコメントメニューの次に挿入されます。
次の位置を基準に指定できる。
2~ ... "ダッシュボード"の次
4~ ... "投稿"の次
10~ ... "メディア"の次
20~ ... "固定ページ"の次
25~ ... "コメント"の次
59~ ... "外観"の次
65~ ... "プラグイン"の次
70~ ... "ユーザー"の次
75~ ... "ツール"の次
80~ ... "設定"の次
100~ ... "設定との境界(ダッシュボードと投稿の間と同じ)"の次
menu_icon string '' メニューで表示するアイコン。
img要素のsrc属性の値として設定されるため、画像のパスやBase64でエンコードされた値などを指定する。
show_in_nav_menus boolean publicキーの値 外観のメニューに表示するか。
show_in_rest boolean false REST APIとして使用可能にするかどうか、さらに新規・編集画面をリッチにするかどうか。
APIのURLはhttps://example.co.jp/wp-json/wp/v2/識別子(識別子はregister_post_type関数の第一引数)。
rest_base string show_in_restキーがtrueの場合、APIのURLの最後を指定の値に変更する。
https://example.co.jp/wp-json/wp/v2/rest_baseの値
rest_controller_class string 'WP_REST_Terms_Controller' ※ 不明
rewrite array publicキーの値 投稿タイプおよび記事のURLアクセス時のパーマリンクの設定。
詳しくは、rewriteキーの内容を参照。
publicly_queryable boolean publicキーの値 投稿タイプおよび記事のURLアクセスでURLパラメーターでアクセスを許可するかどうか。
URLパラメーターは?識別子=記事のスラッグであるが、実際にアクセスすると/識別子/記事のスラッグ/に置き換わる。
query_var boolean
または
string
register_post_type関数の第一引数 publicly_queryableがtrueの場合のURLパラメーターのキーを指定。
例(値がsbjの場合):?sbj=記事のスラッグ = /sbj/記事のスラッグ/
exclude_from_search boolean publicキーの値 サイト内検索から除外するか。
has_archive boolean false アーカイブページを有効にするかどうか。
trueを指定した場合は、archive.phparchive-識別子.phpでアーカイブ(一覧)ページを設置することができる。
supports array array('title', 'editor') 記事として投稿できる情報。
次の情報を指定可能。
'title' ... タイトル(見出し)
'editor' ... 本文
'comments' ... コメント・ディスカッション
'revisions' ... 更新履歴(リヴィジョン)
'trackbacks' ... トラックバック
'author' ... 投稿者
'excerpt' ... 抜粋
'page-attributes' ... 属性(親記事や順序など)
'thumbnail' ... アイキャッチ画像
'custom-fields' ... カスタムフィールド
'post-formats' ... ※ 不明

  • ※ 'thumbnail'を表示するにはadd_theme_support('post-thumbnails')を追加する必要がある。
can_export boolean true エクスポートを可能にするかどうか。
"ツール"の"エクスポート"での表示の有無の設定。

labelsキーの内容

キー 初期値 説明
name string labelキーの値 全体の名称。
メニューや見出しで表示される。
menu_name string nameキーの値 メニューの名称。
add_new string 新規追加ボタンのテキスト。
add_new_item string 新規追加画面の見出し。
edit_item string 編集画面の見出し。
all_items string menu_nameの値 サブメニューで表示される一覧メニューの名称。
not_found string 1件も登録されていない場合のメッセージ(ゴミ箱は除く)。
not_found_in_trash string ゴミ箱に1件もない場合のメッセージ。
search_items string 検索ボタンのテキスト。
parent_item_colon string '親ページ' 一覧で親の記事がない時にタイトル名に親を表示する際のラベル。
attributes string 'ページ属性' 親ページや順序などのパネルの見出し。
singular_name string nameキーの値 "外観"の"メニュー"でメニューに追加されているときに表示する右側の投稿タイプの名称。
view_item string 表示リンクのテキスト。
表示リンクは編集画面の管理バー、記事を更新した際に表示されるアラートメッセージに表示される。
view_items string 一覧画面の管理バーで表示されている表示リンクのテキスト。
item_updated string 記事を更新した際に表示されるアラートメッセージのテキスト。
featured_image string 'アイキャッチ画像' アイキャッチの画像を選択するためのパネルの見出し。
set_featured_image string 'アイキャッチ画像を設定' アイキャッチの画像を選択するボタンのテキスト。
remove_featured_image string 'アイキャッチ画像を削除' 設定中のアイキャッチの画像を解除(削除)するボタンのテキスト。
use_featured_image string ※ 不明
items_list string ※ 不明
items_list_navigation string ※ 不明
item_published string 新規に記事を作成し公開した時に表示されるメッセージのテキスト。
uploaded_to_this_item string ※ 不明
filter_items_list string ※ 不明
item_reverted_to_draft string ※ 不明
item_scheduled string ※ 不明
archives string ※ 不明

rewriteキーの内容

キー 初期値 説明
slug string register_post_type関数の第一引数 投稿タイプのスラッグの名称。
例(値を'foo/bar'とした場合):/foo/bar/記事のスラッグ/
with_front boolean true "設定"の"パーマリンク設定"を最初に実行するかどうか。
hierarchical boolean false URLに階層を許可するかどうか。

サンプルコード

functions.php

CMS「WordPress」逆引きリファレンス一覧へ戻る