この記事では、カスタム投稿タイプを作成方法をご紹介します。この記事を読めば、管理画面に新しいメニューが追加され、特定の用途(お知らせ、実績など)専用の投稿画面が作れるようになります。
そもそもカスタム投稿タイプとは何か?という説明はこちらの記事でしています。
【WordPress】固定ページ・投稿・カスタム投稿タイプの使い分け
カスタム投稿タイプを作成する方法は、大きく分けて2つあります。
1.function.phpに記述する(自分で書く)
2.プラグインで表示する
ひとつずつ解説していきます。
1.function.phpに記述する方法
使用しているテーマ(推奨:子テーマ)配下に「functions.php」を作成し、
親テーマのスタイルを読み込んでおきます。
function.phpに以下を記述します。

function register_card_post_type(){
register_post_type('add_post',[
'label' => '追加の投稿',
'public' => true,
'has_archive' => false,
'menu_position' => 5,
'show_in_rest' => true,
'supports' => ['title', 'editor', 'thumbnail'],
]);
}
add_action('init','register_card_post_type');
入力できたら保存しましょう。
【コードの解説】不要な方は読み飛ばしてください
① function register_card_post_type()
register_card_post_typeについては、名前は自由です。投稿タイプを登録する処理をひとまとめにしています。
② register_post_type(‘add_post’,…
register_post_typeはWordPressの関数です。このまま書いてください。
‘add_post’は第1引数です。投稿タイプの スラッグとして扱われます。
例:add_post →https://xxx/add_post/ooo
③ 配列(設定オプション)
[
| パラメータ | 役割・設定内容 |
|---|---|
| ‘label’ | 管理画面に表示される名前 |
| ‘public’ | 公開設定。trueでサイト上に表示、falseで管理画面専用になります。 |
| ‘has_archive’ | 一覧ページを作るかどうか。trueで一覧ページ(アーカイブが有効になります。 |
| ‘menu_position’ | 管理画面左メニューの表示位置。見やすさ調整用のため、動作には影響しません。 |
| ‘show_in_rest’ | trueでブロックエディタの表示 何も書かない場合は古い投稿画面(クラシックエディタ)になります。 |
| ‘supports’ | この投稿タイプで、何を管理画面に表示するかを決めています。ここに書かれたものだけが、投稿の編集画面に表示され、機能として使えるようになります。 今回有効にしているのは、タイトル(title)と本文(editor) 、アイキャッチ画像(thumbnail)です。 他には、抜粋(excerpt) カスタムフィールド(custom-fields)などがあります。 |
]);
}
⑤ add_action(‘init’, ‘register_card_post_type’);
これで実行しています。
‘init’は初期化処理です。これを書かないとWordPressの準備前に実行される可能性があり、エラーに繋がるため記述しましょう。
‘register_card_post_type’は①の際に決めた自作関数です。

wordpressの管理画面に表示することができました。
2.プラグインで表示する方法
ACFを用いた表示方法
今回はACFで作成していきます。バージョン は 6.7.0
これ以外にも「Custom Post Type UI」など様々なプラグインがありますが、好きなものを選んでください。

ダウンロードしたら、サイドバーに「ACF」が追加されます。
投稿タイプをクリックしてください。
[+新規追加]から新しい投稿タイプを作成します。

複数ラベル:add_posts
単数ラベル:add_post
投稿タイプキー:add_post_2
(add_postにしようとしたら、先ほどfunction.phpに記述した引数と同じだったため怒られてしまいました。)
複数ラベルと単数ラベルの違いは、
単数ラベル:1件を指す表示用
複数ラベル:一覧・集合を指す表示用
です。管理画面に表示される文言ですので、違和感がなければなんでも大丈夫です。
入力できたら[変更内容を保存]ボタンを押して保存してください。

一覧に追加されました。

管理画面のメニューに追加されています。

3.どちらの方が適切なのか メリット・デメリット
functions.php に書く場合
メリット
構造と表示がサーバー内に集まるため、何のための投稿タイプかサーバーを見るだけで分かりやすくなります。
実装が最もシンプルで、デバッグや修正に強いです。
デメリット
コードでの修正が必要なため、エンジニア以外の人が運用するのには向かないです。
プラグインを使用した場合
メリット
管理画面にプラグイン表示があるため、どのように作られたかわかりやすいです。
コードを入力する必要がないため、非エンジニアでも管理ができます。
デメリット
中身のコードが見えないため、トラブルがあった際はわかりにくいです。
使用しないサービスが入っている可能性、管理画面が肥大化・サイトが重くなる可能性があります。
4.まとめ
今回は、WordPressでカスタム投稿タイプを作成する2つの方法を解説しました。
保守性や軽量さを重視するなら:functions.php への記述
直感的な操作や管理のしやすさを重視するなら:プラグイン(ACFなど)の活用
どちらの方法を選んでも、カスタム投稿タイプを活用することで「お知らせ」「制作実績」「お客様の声」など、情報を整理して運用しやすくなるため、必要に応じて活用していきましょう。