下記のようなコードをfunction.phpに記述するだけ!
これをするだけで管理画面上のサイドバーに表示されます。
/* -------------------------- カスタム投稿タイプを作る ------------------------- */
// カスタム投稿タイプ「notice」を定義
function create_post_type() {
register_post_type(
'notice', // 投稿タイプの識別子。URLにも使用されるスラッグです(例: https://example.com/notice)
array(
'labels' => array(
'name' => __('テストお知らせ'), // 管理画面の一覧やメニューに表示される名前(複数形)
'singular_name' => __('テストお知らせ'), // 投稿の個別編集画面などに表示される名前(単数形)
),
'rewrite' => array(
'slug' => 'notice', // 投稿タイプのURLスラッグ(例: /notice/)
'with_front' => true // true の場合、パーマリンク設定で先頭に「/blog」などがあれば継承されます
),
'menu_icon' => 'dashicons-megaphone', // 管理画面サイドメニューのアイコン(WordPressの標準アイコン)
'public' => true, // 投稿タイプを公開状態にする(フロントでも表示可能)
'show_ui' => true, // 管理画面のUIを表示するか(true で表示される)
'has_archive' => true, // アーカイブページ(一覧ページ)を有効にする(例: https://example.com/notice/)
'menu_position' => 10, // 管理画面サイドメニュー内の表示順(10は「投稿」の下あたり)
'hierarchical' => true, // 階層構造を持たせる(固定ページのように親子関係を設定可能)
'taxonomies' => array('category', 'post_tag'), // カテゴリーとタグをこの投稿タイプで使えるようにする
'supports' => array(
'title', // タイトル入力欄を有効にする
'editor', // 本文エディター(ビジュアル/テキスト)を有効にする
'revisions', // 過去の変更履歴(リビジョン)を有効にする
'page-attributes', // 並び順や親子関係(階層構造)を管理できる機能を有効にする
'thumbnail', // アイキャッチ画像(サムネイル)を設定できるようにする
'excerpt' // 抜粋欄を表示して入力可能にする
),
)
);
}
add_action('init', 'create_post_type'); // WordPress の初期化時に上記関数を実行して投稿タイプを登録