2022年04月25日

WP関数:register_post_type()

この関数の説明

WP関数の register_post_type() は、基本の投稿以外に「お知らせ」や「商品」等のカスタム投稿を新設する関数です。

 


関数

register_post_type( $post_type, $args )

 


パラメータ

$post_type(文字列)(必須)

カスタム投稿名を指定します。

半角英数で20文字以内

 

$args配列)(オプション

カスタム投稿の設定情報を配列で指定します。

キー タイプ 解説
'labels' 配列 'name'     :カスタム投稿の表示名

'all_items':一覧ページの表示名

'add_new':新規追加の表示名

'public'
真偽値 trueで管理画面に表示する

falseで非表示(デフォルト)

'menu_position'
整数 管理画面のどの位置に表示するか?を指定します。

5 - 投稿の下
10 - メディアの下
15 - リンクの下
20 - 固定ページの下
25 - コメントの下
60 - 最初の区切りの下(コメントの下に区切りがある)
65 - プラグインの下
70 - ユーザーの下
75 - ツールの下
80 - 設定の下

'menu_icon' 文字列 表示するダッシュアイコンの名前(赤枠の中)を指定します。

ダッシュアイコン一覧

'rewrite'
真偽値 パーマリンクの編集ができるか否かを指定します。

true (初期値) パーマリンクの編集は可

false これを指定するとパーマリンクの編集不可

'supports'
真偽値 | 配列 編集画面でサポートする機能を指定します。

true(初期値)タイトルと本文機能がONになります。

false これを指定するとタイトルも本文も入力できなくなります。

よってONにする機能を配列で指定します。

'title'             :タイトル

'editor'          :本文

'thumbnail'     :アイキャッチ画像

'excerpt'        :抜粋

'revisions'      :レビジョン

'custom-fields':カスタムフィールド

'author'         :作成者

'trackbacks'    :トラックバック送信

'comments'    :コメント

'post-formats' :投稿フォーマット


戻り値

設定されたカスタム投稿名が管理画面に表示されます。

 


事例

①コメントの下に下図の様な製品のカスタム投稿を作成します。

functions.phpに記述する内容は下記になります。

function create_newpost(){
  //ポストタイプproductsの追加
	$labels = array(
		'name' 		=>'商品',
		'all_items' => '商品一覧',
		'add_new' => '新規商品追加');
	$products_args   = array(
		'labels' => $labels,
 		'public' => true,
 		'menu_position' => 25,
 		'menu_icon' => 'dashicons-arrow-right-alt',
 		'rewrite' => true,
 		'supports' => array( 'title','editor','thumbnail','excerpt','revisions','custom-fields')
 	); 
	register_post_type('products',$products_args );

	//車種分類の追加
	$furniture_type =array(
      'label' => '車種',
	  'hierarchical' => true,);		
	register_taxonomy('car_type', 'products',$furniture_type); 

	//価格分類の追加 
	$room_type =array(
      'label' => '価格レンジ',
      'hierarchical' => true,);
	register_taxonomy('car_price_range','products',$room_type);
}
add_action('after_setup_theme' , 'create_newpost' );

■3~15行目:register_post_type()の設定

■17~27行目:タクソノミー(分類)の設定

詳細は register_taxonomy() を参照してください。

アクションフック&関数
  • admin_init
  • admin_menu
  • after_setup_theme
  • customize_register
  • manage_pages_custom_column
  • manage_posts_custom_column
  • pre_get_posts
  • save_post
  • widgets_init
  • wp_enqueue_scripts
  • wp_head
  • add_editor_style()
  • add_post_type_support()
  • add_theme_support()
  • do_action()
  • get_post()
  • get_theme_mod()
  • register_nav_menu()
  • register_post_type()
  • register_sidebar()
  • register_taxonomy()
  • register_widget()
  • remove_action()
  • remove_editor_styles()
  • remove_theme_support()
  • set_post_thumbnail_size()
  • set_query_var()
  • show_admin_bar()
  • unregister_nav_menu()
  • unregister_widget()
  • wp_enqueue_script()
  • wp_enqueue_style()