WEB制作のための情報サイト / unazuki Library

register_post_type()

基本構文と使い方(引数・実行結果)

基本構文

カスタム投稿タイプを登録します。

register_post_type($post_type,$args);

引数

引数必須/任意引数に指定するもの
第1引数
$post_type
必須カスタム投稿タイプの名前を指定(文字列
※20文字まで、小文字英数字、アンダースコア、ダッシュ
第2引数
$args
任意カスタム投稿タイプの仕様を文字列配列で指定
主なパラメーターは以下の通りです。

label 管理画面に表示するカスタム投稿タイプの名前(文字列)
public カスタム投稿タイプを一般に公開するかどうか(真偽値)
show_in_rest REST APIにカスタム投稿タイプを含めるかどうか(真偽値)
has_archive アーカイブページを持つかどうか(真偽値)
delete_with_user ユーザーを削除した後、コンテンツも削除するかどうか(真偽値)
exclude_from_search 検索から除外するかどうか(真偽値)
hierarchical 階層化するかどうか(真偽値)
query_var クエリパラメーターを使えるようにする(真偽値/文字列)
menu_position 管理画面に表示するメニューの位置(整数)
supports カスタム投稿タイプがサポートする機能(配列)

すべてのパラメーターの詳細は下記より参照ください(英語)
https://developer.wordpress.org/reference/functions/register_post_type/

初期値[](空の配列)

実行結果

戻り値(返す値):登録に成功したカスタム投稿タイプのオブジェクト(失敗の場合はエラーオブジェクト)

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

参考コード

下記のコード例では、カスタム投稿タイプ「セミナー」を追加しています。

function cpt_register_seminar() {
	$args = [
		'label' => 'セミナー',
		'labels' => [
			'singular_name' => 'セミナー',
			'edit_item' => 'セミナーを編集',
			'add_new_item' => '新規セミナーを追加'
		],
		'public' => true, //カスタム投稿タイプを一般に公開するかどうか
		'show_in_rest' => true, //REST APIにカスタム投稿タイプを含めるかどうか → カスタム投稿タイプでブロックエディタを使うならtrue
		'has_archive' => true, //アーカイブページを持つかどうか
		'delete_with_user' => false, //ユーザーを削除した後、コンテンツも削除するかどうか
		'exclude_from_search' => false, //検索から除外するかどうか
		'hierarchical' => false, //階層化するかどうか
		'query_var' => true, //クエリパラメーターを使えるようにする → プレビュー画面を使うためにはtrue
		'menu_position' => 5, //管理画面に表示するメニューの位置
		'supports' => [
			'title',
			'editor',
			'thumbnail',
			'custom-fields'
		], //カスタム投稿タイプがサポートする機能
	];
	register_post_type('seminar', $args);
}
add_action('init', 'cpt_register_seminar');

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
dynamic_sidebar() サイドバー(ウィジェットを配置するエリア)を表示する。
register_sidebar() ウィジェットを配置するためのエリアを登録する。
register_taxonomy() カスタムタクソノミーを追加する。
wp_enqueue_script() スクリプトを登録し、読み込み対象としてキューに追加します。
wp_enqueue_style() スタイルシートを登録し、読み込み対象としてキューに追加します。
add_editor_style() 編集画面でエディタ用のスタイルシートを読み込む。
add_theme_support() 指定した機能をテーマに追加する。