WordPress

【WordPress】カスタム投稿タイプの追加方法

1.functions.phpに処理を追加

以下の処理をfunctions.phpに追加する。この時、投稿タイプの定義も同時に行う
(以下の例は投稿タイプをnewsとしています)

functions.php
add_action( 'init', 'create_post_type' );
function create_post_type() {
    register_post_type( 'news', [ // 投稿タイプ名の定義
        'labels' => [
            'name'          => 'ニュース', // 管理画面上で表示する投稿タイプ名
            'singular_name' => 'news',    // カスタム投稿の識別名
        ],
        'public'        => true,  // 投稿タイプをpublicにするか
        'has_archive'   => false, // アーカイブ機能ON/OFF
        'menu_position' => 5,     // 管理画面上での配置場所
    ]);
}

もっと細かく設定できるようです。
参考URL

2.single-[post_type].phpを作成する

上記の例の場合はsingle-news.phpとなる

3.管理画面からカスタム投稿タイプで投稿する

上記の例の場合はニュースで表示されているのでそこから投稿する。
WS000083.JPG

4.管理画面からパーマリンクの変更を保存する

WS000084.JPG

これを行わないと、おそらく「ページが見つかりません(404エラー)」ページが表示されると思います。
(function.phpに書いた処理内にflush_rewrite_rulesを追記する、といった記事も見かけたのですが、コストが高く、またこの関数が原因で他のプラグインがおかしくなるとうが起こるみたいでやめた方がいいとのこと。)

参考URL

5.投稿した記事の確認

見れるか該当のURLにアクセスして確認する

参考URL