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, // 管理画面上での配置場所
'show_in_rest' => true, // 5系から出てきた新エディタ「Gutenberg」を有効にする
]);
}
もっと細かく設定できるようです。
参考URL
- 関数リファレンス/register post type - WordPress Codex 日本語版
- Wordpress カスタム投稿でカテゴリを使う場合のfunctions.phpの内容 | FROG-EIGHT
2.single-[post_type].phpを作成する
上記の例の場合はsingle-news.phpとなる
3.管理画面からカスタム投稿タイプで投稿する
上記の例の場合はニュースで表示されているのでそこから投稿する。
4.管理画面からパーマリンクの変更を保存する
これを行わないと、おそらく「ページが見つかりません(404エラー)」ページが表示されると思います。
(function.phpに書いた処理内にflush_rewrite_rules
を追記する、といった記事も見かけたのですが、コストが高く、またこの関数が原因で他のプラグインがおかしくなるとうが起こるみたいでやめた方がいいとのこと。)
参考URL
5.投稿した記事の確認
見れるか該当のURLにアクセスして確認する