皆さん、こんにちは!
いきなりですが、カスタム投稿の追加はどうやってしていますか?
Custom Post Type UIを使って追加してる方も多いですが、設定等を逐一したり初心者の人には難しい設定が多かったりと少し使いにくいところも多いです。
なので手っ取り早く「functions.php」を編集して追加する方法を紹介します。
この記事の目次
プラグインを使わずにカスタム投稿の追加
テーマフォルダ内にある「functions.php」を編集します。
下記のコードでは「お知らせ」というカスタム投稿を追加すると仮定します。
// カスタム投稿の追加
function create_post_type()
{
register_post_type('news', [ // 投稿タイプの名前
'labels' => [
'name' => 'お知らせ', // 管理画面に表示される名前
'singular_name' => 'news', // カスタム投稿の識別名
],
'public' => true, // 投稿タイプを公開にするかどうか
'has_archive' => false, // アーカイブ機能
'menu_position' => 5, // 管理メニューの順番
'show_in_rest' => false, // 新しいビジュアルエディターを使用するかどうか
]);
}
add_action('init', 'create_post_type');
基本的にはこれで完了なのですが、実際に作成し公開して見てみると「404エラー」になってしまいます。
パーマリンク設定を更新する
設定からパーマリンク設定を選択し一番下のボタン「変更を保存」をクリックします。

この際に特に何か変更する必要はありません。
これで基本の設定は完了です。
おまけ:テンプレートファイルの作成
上記のままカスタム投稿で投稿を作成し公開するとデフォルトの投稿と同じレイアウトになるかと思います。
もし棲み分けをしたい場合は新たに「single-カスタム投稿名.php」というファイルを作成すると、こちらのファイルが優先されます。
デザインやレイアウトを変えたい場合は参考ください。