独自の投稿タイプを作成
独自の投稿タイプを作成するには、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.phpやarchive-識別子.phpでアーカイブ(一覧)ページを設置することができる。 |
supports | array | array('title', 'editor') | 記事として投稿できる情報。 次の情報を指定可能。 ' title ' ... タイトル(見出し)' editor ' ... 本文' comments ' ... コメント・ディスカッション' revisions ' ... 更新履歴(リヴィジョン)' trackbacks ' ... トラックバック' author ' ... 投稿者' excerpt ' ... 抜粋' page-attributes ' ... 属性(親記事や順序など)' thumbnail ' ... アイキャッチ画像' custom-fields ' ... カスタムフィールド' post-formats ' ... ※ 不明
|
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