WordPressでサイトを作っていると、「投稿」や「固定ページ」だけでは管理しにくくなることがあります。
たとえば、店舗サイトなら「新着情報」「お店の情報」「商品情報」のように、内容ごとに分けて管理したい場面があります。こうしたときに便利なのがカスタム投稿タイプです。
カスタム投稿タイプを使えば、通常の投稿とは別に「商品」「実績」「スタッフ紹介」「イベント情報」などの専用メニューを管理画面に追加できます。記事の種類ごとに整理しやすくなり、更新作業もしやすくなります。
この記事では、WordPressのカスタム投稿タイプとは何か、どんなときに使うべきか、プラグインで設定する方法、コードで追加する方法、設定時の注意点までわかりやすく解説します。
WordPressのカスタム投稿タイプとは?
カスタム投稿タイプとは、WordPress標準の「投稿」「固定ページ」とは別に、独自の投稿メニューを追加できる仕組みです。
標準の投稿はブログ記事向け、固定ページは会社概要やお問い合わせ向けですが、サイトによってはそれだけでは管理しづらいことがあります。そこで、扱う情報の種類に合わせて新しい投稿タイプを作成します。
たとえば、次のような使い方ができます。
- 商品情報
- 店舗情報
- スタッフ紹介
- 制作実績
- イベント情報
- お知らせ
投稿の種類ごとに管理画面を分けられるため、サイト運営がかなり整理しやすくなります。
通常の投稿・固定ページとの違い
| 種類 | 向いている内容 | 特徴 |
|---|---|---|
| 投稿 | ブログ記事、お知らせ、コラム | 時系列で増えていく記事向け |
| 固定ページ | 会社概要、お問い合わせ、プロフィール | 独立した常設ページ向け |
| カスタム投稿タイプ | 商品、実績、店舗、スタッフなど | 特定の情報を専用メニューで管理できる |
つまり、カスタム投稿タイプは「投稿や固定ページでは整理しにくい情報を、専用の入れ物で管理する仕組み」と考えるとわかりやすいです。
どんなときにカスタム投稿タイプを使うべきか
次のような場合は、カスタム投稿タイプを使う価値があります。
投稿とは別の種類の情報を管理したいとき
ブログ記事とは別に、商品データや事例データを管理したい場合です。すべてを投稿に混ぜると管理画面が見づらくなります。
担当者が更新しやすい構成にしたいとき
「商品はここから登録」「実績はここから更新」と分かれている方が、運用担当者にもわかりやすくなります。
一覧ページや詳細ページを種類ごとに作りたいとき
商品一覧、事例一覧、スタッフ一覧など、コンテンツの種類ごとにページを分けて見せたいときにも向いています。
カスタム投稿タイプを使う具体例
商品情報
ECではなくても、サービス紹介や商品の一覧を管理したいサイトでは便利です。通常のブログ記事とは分けて管理した方が見やすくなります。
制作実績・導入事例
制作会社やBtoBサイトでは、実績を独立して管理したいケースが多くあります。公開日ベースの記事とは性質が違うため、専用の投稿タイプが向いています。
店舗情報
店舗名、住所、営業時間、紹介文などをまとめて管理したい場合に便利です。店舗一覧ページとの相性も良いです。
スタッフ紹介
スタッフごとのプロフィールを整理したい場合も、投稿とは別管理の方が使いやすくなります。
カスタム投稿タイプの設定方法は2つある
WordPressでカスタム投稿タイプを追加する方法は、大きく分けて2つあります。
1. プラグインで設定する方法
初心者がもっとも始めやすい方法です。管理画面から設定できるため、コードを書かなくても追加できます。
2. コードで追加する方法
register_post_type() を使って、自分で細かく設定する方法です。柔軟性が高く、開発向けです。
どちらを選ぶべきか
- すぐに作りたい初心者 → プラグイン向き
- 細かく制御したい・コード管理したい → コード向き
まず試したいならプラグイン、長期的に管理したいならコード実装という考え方で問題ありません。
プラグイン「Custom Post Type UI」で設定する方法
管理画面から簡単に設定したい場合は、Custom Post Type UI のようなプラグインが使いやすいです。
- WordPress管理画面からプラグインを追加する
- 「Custom Post Type UI」をインストールして有効化する
- プラグインの設定画面を開く
- 投稿タイプスラッグを入力する
- 表示名やラベルを設定する
- 保存する
設定が完了すると、管理画面のサイドバーに新しい投稿メニューが追加されます。
投稿タイプスラッグの考え方
投稿タイプスラッグはURLにも関わる重要な文字列です。英小文字でわかりやすく、後から変更しなくて済む名前にしておくのが安全です。
たとえば、商品情報なら product、実績なら works、スタッフなら staff のように付けると管理しやすくなります。
コードでカスタム投稿タイプを追加する方法
コードで追加する場合は、register_post_type() を使います。
掲載用としては、次のような形にしておくと実用的です。
add_action('init', 'create_custom_post_type');
function create_custom_post_type() {
register_post_type('product', array(
'labels' => array(
'name' => '商品',
'singular_name' => '商品',
'menu_name' => '商品情報',
'add_new' => '新規追加',
'add_new_item' => '商品を追加',
'edit_item' => '商品を編集'
),
'public' => true,
'has_archive' => true,
'menu_position' => 5,
'rewrite' => array('slug' => 'product'),
'show_in_rest' => true,
'supports' => array('title', 'editor', 'thumbnail')
));
}
この例では、管理画面メニューの追加だけでなく、一覧ページやURL設定、ブロックエディタ対応も考慮しています。
functions.php に書くときの注意
テーマの functions.php に直接書くことはできますが、テーマを変更すると設定が消える可能性があります。長期運用するなら、専用プラグイン化や子テーマ管理も検討した方が安全です。
設定時の注意点
スラッグは後から変えない前提で決める
スラッグはURLに影響します。公開後に変更するとURLが変わり、内部リンクや検索評価にも影響するため、最初にしっかり決めておくのが重要です。
パーマリンク設定を再保存する
カスタム投稿タイプ追加後にURLが正しく表示されない場合は、パーマリンク設定画面を開いて再保存すると改善することがあります。
一覧ページを使いたいなら has_archive を意識する
一覧ページを作りたいなら、コード設定時にアーカイブを有効にしておく必要があります。
ブロックエディタを使うなら show_in_rest も確認する
ブロックエディタで自然に扱いたい場合は、REST関連の設定も意識しておくと使いやすくなります。
よくある疑問
まとめ
WordPressのカスタム投稿タイプは、投稿や固定ページとは別に、特定の情報を専用メニューで管理できる便利な仕組みです。
- 商品情報や実績など、種類の違う情報を整理しやすい
- 設定方法はプラグインとコードの2通りある
- 初心者はプラグイン、細かく管理したいならコードが向いている
- スラッグやURL設計は最初にしっかり決めるべき
通常の投稿にすべてを詰め込むより、情報の種類に応じてカスタム投稿タイプを分けた方が、更新もしやすく、サイト構造もわかりやすくなります。
