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 - 投稿の下 |
'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() を参照してください。