WordPressのカスタム投稿タイプとは?作成方法や使い方も解説【プラグイン&自作】

WordPress カスタム投稿タイプの実装方法
ENGINEER

WordPressで本格的なWebサイトを運営していこうとすると、「投稿」と「固定ページ」のほかに管理可能なページが欲しくなることがあります。そんなときに便利なのがWordPressの「カスタム投稿タイプ」です。

今回はカスタム投稿タイプの利点や、作成方法、投稿タイプ名を決めるときの注意点などをご紹介していきます。

テーマ別に管理したいコンテンツが複数個ある方は、ぜひ今回ご紹介するカスタム投稿タイプを実装してみてください。

WordPressのカスタム投稿タイプとは?

WP 投稿

カスタム投稿タイプとは、ユーザー自身で新たな投稿タイプを作成できる機能のことです。「投稿」や「固定ページ」にある投稿タイプとは別のものをカスタマイズして作れます。

カスタム投稿タイプは、基本的に「投稿」と同じ操作が可能です。またカスタム投稿タイプで作成したコンテンツを一覧表示したり、検索したりすることもできます。

特定のテーマや目的をもつコンテンツを複数管理したい場合に、便利な機能です。

カスタム投稿タイプはどんなときに便利?

初期状態のWordPressでは、「投稿」と「固定ページ」のみが新規投稿&編集できるページとして用意されています。「投稿」と「固定ページ」の特徴は、以下のとおりです。

投稿 固定ページ
  • カテゴリーやタグによる、ページのジャンル分けができる
  • 一覧表示できる
  • 親子関係を作れない
  • ページごとにデザインテンプレートを変えられない
  • 「ブログ」「お知らせ/ニュース」などのページで使われている
  • 単体で完結するコンテンツを制作するときに便利
  • 固定ページ同士で親子関係を作れる
  • ページごとにデザインテンプレートを変えられない
  • カテゴリ分け/タグ設定/一覧表示ができない
  • 「お問い合わせ」「会社情報」などのページに使われる

小規模なコーポレートサイトやブログサイトを運用する場合は、この2種類の投稿タイプで十分です。しかし中規模以上のWebサイトを運用する場合は、「投稿」と「固定ページ」の投稿タイプだけでは物足りなく感じることも。

たとえば、本社のほかに支店を持つ企業のコーポレートサイトを制作するケースを考えてみましょう。

支店数が少ないうちは、固定ページを利用して「支店紹介」コンテンツをつくる運用で事足りるかもしれません。しかし支店の数が増えれば増えるほど、固定ページだけでは各支店の情報が整理しづらくなってしまいます。

「固定ページ」での運用をやめて「投稿」で支店ごとにページをつくると、一覧表示や検索ができるため管理がラクになるでしょう。しかし、すでに「投稿」を別の目的(新着情報の掲載、コラムetc…)で使っている場合などは利用しにくいですよね。

そこでカスタム投稿タイプを利用して、「投稿」とは別の投稿タイプ「支店」をつくってみましょう。「投稿」からも「固定ページ」からも独立して、支店のみを管理できるようになります。また、カスタム投稿タイプは複数個のパターンを制作できるため、さらに「お客様の声」や「導入事例」などを掲載したいときも便利です。

このように、テーマ別に管理したいコンテンツが複数個あるときは、ぜひカスタム投稿タイプを活用してみてください。

カスタム投稿タイプを作成する2つの方法

カスタム投稿タイプを作成する方法は、以下の2種類があります。

  • プラグインを使って簡単に実装する方法
  • 自分でfunction.phpを編集して実装する方法

それぞれの方法をご紹介していきます。

作成方法1. プラグイン「Custom Post Type UI」を使う

今回ご紹介するのは「Custom Post Type UI」というプラグインです。

「Custom Post Type UI」は有効インストール数が80万件を超えており、世界中のユーザーに愛されています。わずか3分ほどでカスタム投稿タイプを実装できるスピード感や、日本語対応されている点が魅力です。

では、早速このプラグインを使ったカスタム投稿タイプの実装方法を見ていきましょう。※作業を始める前にバックアップを取っておくのをお忘れなく!)

インストールと有効化

「WordPressダッシュボード」>「プラグイン」>「新規追加」を選択します。

「Custom Post Type UI」でキーワード検索を行うと、以下のような画面が表示されます。

Custom Post Type UI インストール画面

赤枠で囲っているプラグインが、今回インストールする「Custom Post Type UI」です。

カードの右下に「使用中の WP バージョンと互換性あり」と書かれていることを確認してから「今すぐインストール」を選択します。

インストールが完了すると「今すぐインストール」のボタンが「有効化」のボタンに変わるので、忘れずに有効化しておきましょう。

投稿タイプを追加する

プラグインを有効化すると、メニューに「CPT UI」が追加されます。

「CPT UI」>「投稿タイプの追加と編集」を選択し、設定画面にうつりましょう。この画面で投稿タイプを追加していきます。

以下の表を参考に、項目を入力してください。

入力項目名 説明 入力例
投稿タイプスラッグ 投稿タイプの名前(スラッグ)を入力する。

投稿タイプの検索をする際のクエリとしても使われるため、必ず半角英数字を使うこと。

movie
複数形のラベル 投稿タイプの名前を複数形にして入力する。

投稿タイプの管理メニュー項目として使われる。日本語でもOK。

映画
単数形のラベル 投稿タイプの名前を単数形で入力する。

日本語の場合は複数形のラベルと同じで構わない。

映画

設定を保存すると、「複数形のラベル」に入力した文字列がメニューに追加され、カスタム投稿タイプの記事を作成できるようになります。

投稿タイプの一覧を作る

初期状態のままでは、新しく作成したカスタム投稿タイプの一覧表示を行えません。

一覧表示を行いたい場合は「設定」>「アーカイブあり」の画面から、「False」を「True」に変更する必要があります。

CPT UI アーカイブ設定

▲初期状態では、一覧ページが作成されない「False」が設定されている

Trueを設定すると「ホームのURL/投稿タイプスラッグ」のURLにアクセスしたとき、カスタム投稿タイプの一覧が表示されるようになります。

たとえばWorkship MAGAZINEに「movie」という投稿タイプを作った場合、https://goworkship.com/movieが一覧ページのURLとなります。

投稿タイプの一覧ページが必要な場合は、「アーカイブあり」>「True」の設定を忘れずに行いましょう。

作成方法2. 自作する

プラグインを使わず、自分でカスタム投稿タイプを実装する方法もあります。

WordPressの基礎知識のほか、PHPプログラミングの知識があることが前提となりますが、自信のある方はぜひこちらもお試しください。

function.phpを編集する

自作する場合はfunction.phpを編集します。

「WordPressダッシュボード」>「外観」>「テーマエディター」>「テーマのための関数(function.php)」を選択して、任意の場所に以下のコードを埋め込んでください。

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( '任意のカスタム投稿タイプ名',
    [
      'label' => ( 'ダッシュボードメニューに表示するカスタム投稿タイプ名(日本語可)' ),
      'public' => true, //管理画面から投稿・編集できるようにする場合は「true」。
      'has_archive' => true, //カスタム投稿の一覧ページが必要な場合は「true」。
    ]
  );
}

入力が終わったら「ファイルを更新」のボタンを押して保存します。

保存が完了すると、メニューにカスタム投稿タイプ名が追加され、記事の投稿ができるようになります。

「has_archive」を「true」にした場合は「ホームのURL/投稿タイプスラッグ」のURLが一覧ページとなります。

ページが表示されない場合

上記のコードを書いても、カスタム投稿タイプで作成したページや一覧が表示されない場合は、「パーマリンク設定」を保存し直しましょう。

「WordPressダッシュボード」>「設定」>「パーマリンク設定」を開き、ページ下部の「変更を保存」ボタンを押してください。この設定を行う際は、なにも編集しなくても大丈夫です。

パーマリンク設定

先ほど表示されなかったページにアクセスすると、目的のページがきちんと表示されるようになります。

投稿タイプ名を決めるときの注意点

投稿タイプ名は任意に決めることができますが、以下の投稿タイプ名をつけることはできません

  • post
  • page
  • attachment
  • revision
  • nav_menu_item
  • 「wp_」で始まるもの

これらはデフォルトから存在するタイプであるため、カスタム投稿タイプ名として使えません。

「post」は「投稿」、「page」は固定ページ、「attachment」は添付ファイル、「revision」はリビジョン、「nav_menu_item」はナビゲーションメニューを表しています。

また「wp_」から始まるタイプ名は、今後WordPressの初期機能として投稿タイプが増える場合に利用される可能性が高いです。そのため、できるだけ使用を避けるようにしましょう。

たとえば「wp_test」という投稿タイプ名を使って運用している場合は注意が必要です。アップデートで「wp_test」が公式利用されるようになった場合、Webサイトに不具合が発生してしまいます。

プラグインを使う場合でも、自作する場合でも同様の注意が必要です。カスタム投稿タイプ名を決める際は、既存のタイプ名と被らないかを確認するようにしましょう。

カスタム投稿タイプでより便利なコンテンツ管理を

初期状態では「投稿」と「固定ページ」しか作れないWordPressですが、カスタム投稿タイプを活用することで更に別の投稿タイプを扱えるようになります。

カスタム投稿タイプをサクッと手軽に実装したいのなら「Custom Post Type UI」というプラグインがおすすめです。わずか3分ほどで、新しいカスタム投稿タイプを作成できます。

プラグインが使えない案件や、自分でカスタマイズしていきたいときは、function.phpを編集して実装していきましょう。

カスタム投稿タイプは、中規模以上のWebサイトをつくる際には必須とも言えるほどよく利用されている機能です。実務では利用頻度が高い技術なので、ぜひ使い方を覚えておいてくださいね。

(執筆:fuzuki 編集:Kimura Yumi)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
週1〜3 リモートワーク 土日のみでも案件が見つかる!
Workship