wordpress管理画面にカスタム投稿・分類を追加
カスタム投稿(ポスト)・カスタム分類(タクソノミー)を追加するときによく忘れるのでメモ。
register_post_type()関数とregister_taxonomy()関数をinitにフックする。
(テンプレートディレクトリ)/function.php
/**
* カスタム投稿・分類登録
*/
function regist_customs() {
// カスタム投稿の登録
register_post_type(
'product', // 投稿タイプ名称
array(
'labels'=> array( // 各種ラベル
'name' => '商品',
'singular_name' => '商品',
'add_new_item' => '商品を追加',
'add_new' => '商品を追加',
'new_item' => '商品を追加',
'edit_item' => '商品を編集',
'view_item' => '商品を表示',
'search_item' => '商品を検索',
'not_found' => '商品は見つかりませんでした',
'not_found_in_trash' => '商品は見つかりませんでした',
),
'description' => '商品の投稿', // 概要
'public' => true, // 公開
'publicly_queryable' => true, // クエリ公開
'show_ui' => true, // UI生成
'show_in_menu' => true, // メニュー表示
'query_var' => true, // クエリ変数名。true:投稿タイプ名称
'rewrite' => array( // パーマリンクリライト
'slug' => 'product'
),
'capability_type' => 'post', // 権限タイプ(管理者に権限を設けない時はpostでOK)
'has_archive' => true, // アーカイブを作成する
'hierarchical' => false, // 階層を生成する
'menu_position' => null, // 数値で指定。null:コメントの下
'supports' => array( // 編集画面に配置するフォーム
'title',
'editor'
),
)
);
// カスタム分類の登録
register_taxonomy(
'product_genre', // 分類名
'product', // 紐づける投稿タイプ名
array(
'label' => 'ジャンル', // 複数形
'public' => true, // 公開
'show_ui' => true, // UI生成
'hierarchical' => true, // true:カテゴリー系, false:タグ系
)
);
}
add_action('init', 'regist_customs');

