WordPressのカスタム投稿の作り方
WordPressカスタム投稿とは
WordPressにおけるカスタム投稿タイプとは、ブログ投稿や固定ページとは別に、独自のコンテンツタイプを作成できる機能のことです。これにより、目的に応じた特定の種類のコンテンツを管理・表示できます。
なぜカスタム投稿タイプが必要なのか?
たとえば、ウェブサイトで「お知らせ」や「商品レビュー」など、ブログ記事とは異なる形式のコンテンツを扱いたいとします。この場合、すべてのコンテンツを「投稿」として扱うと、以下のような問題が生じることがあります。
- 管理が複雑になる: ブログ記事、お知らせ、商品情報などがすべて「投稿」として混在し、管理画面が見にくくなります。
- デザインやレイアウトが統一できない: 各コンテンツの表示方法を個別に調整する必要があり、手間がかかります。
- 機能が不十分: 特定のコンテンツタイプに特化したフィールド(例:商品レビューの評価、価格、商品画像など)を追加することが難しくなります。
カスタム投稿タイプを使用することで、これらの問題を解決できます。
カスタム投稿タイプでできること
カスタム投稿タイプを導入すると、以下のようなことが可能になります。
- 独自のコンテンツセクションの作成: 「商品」「お知らせ」「イベント情報」など、それぞれのコンテンツに専用の管理画面を作成できます。
- 独自のフィールドの追加: 投稿にタイトルや本文以外の情報を追加できます。たとえば、商品投稿に「価格」「在庫数」「商品の特徴」といった項目を追加できます。
- 専用のカテゴリーやタグの設定: 特定のカスタム投稿タイプにのみ使用できる独自の分類(タクソノミー)を作成できます。
- 表示テンプレートのカスタマイズ: 特定のカスタム投稿タイプにのみ適用される専用のデザインやレイアウトを設定できます。
カスタム投稿タイプの作成方法
カスタム投稿タイプを作成する方法は、主に以下の2つです。
- プラグインを利用する: 「Custom Post Type UI」や「ACF (Advanced Custom Fields)」などのプラグインを使用すると、コードを書かずにGUIで簡単にカスタム投稿タイプを作成できます。初心者にはこの方法がおすすめです。
- functions.php にコードを記述する: テーマの
functions.php
ファイルにregister_post_type()
関数を使って直接コードを記述する方法です。より柔軟な設定が可能ですが、WordPressのテーマ開発の知識が必要です。
カスタム投稿タイプは、WordPressサイトをより専門的で管理しやすくするために非常に便利な機能です。ブログ投稿や固定ページだけでは対応できない独自のコンテンツを扱う際に、ぜひ活用を検討してみてください。
カスタム投稿を作る
WordPressでカスタム投稿タイプを作成するには、register_post_type()
関数を使います。この関数は、テーマのfunctions.php
ファイルに追加するか、プラグインとして作成するのが一般的です。
基本的な作り方
カスタム投稿タイプを作成する基本的なコードは以下の通りです。このコードをテーマのfunctions.php
ファイルに貼り付けてください。
PHP
function create_custom_post_type() {
register_post_type('custom_post',
array(
'labels' => array(
'name' => 'カスタム投稿', // 管理画面に表示される投稿タイプの名前
'singular_name' => 'カスタム投稿',
),
'public' => true, // 投稿タイプを公開するか
'has_archive' => true, // 投稿アーカイブページを有効にするか
'menu_position' => 5, // 管理画面のメニュー表示位置
'supports' => array('title', 'editor', 'thumbnail', 'revisions'), // サポートする機能
)
);
}
add_action('init', 'create_custom_post_type');
このコードでは、custom_post
というスラッグを持つ新しい投稿タイプが作成されます。
主な引数(パラメータ)の説明
register_post_type()
関数は、カスタム投稿タイプの動作を細かく設定するための多くの引数を持っています。特に重要なものをいくつか紹介します。
labels
管理画面に表示される名前や説明を設定します。
name
: 管理画面のメニューに表示される名前。singular_name
: 投稿一件あたりの名前。
public
投稿タイプを一般公開するかどうかを設定します。
true
: 公開し、URLでアクセス可能になります。false
: 非公開となり、管理画面でのみ利用できます。
has_archive
投稿タイプの一覧ページ(アーカイブページ)を生成するかを設定します。
true
:(サイトURL)/custom_post
のようなアーカイブページが自動的に生成されます。
menu_position
管理画面のサイドメニューでの表示位置を設定します。
- 数値が小さいほど上部に表示されます。
- 例:
5
(投稿の下),20
(ページの下)
supports
その投稿タイプで利用する機能を配列で指定します。
title
: タイトル入力欄editor
: 本文エディタthumbnail
: アイキャッチ画像revisions
: リビジョン機能
カスタム分類(タクソノミー)の追加
カスタム投稿タイプにカテゴリーやタグのような分類機能を追加するには、register_taxonomy()
関数を使います。
PHP
function create_custom_taxonomy() {
register_taxonomy(
'custom_cat', // タクソノミーのスラッグ
'custom_post', // 紐づける投稿タイプ
array(
'label' => 'カスタムカテゴリー',
'public' => true,
'hierarchical' => true, // 階層を持つか(カテゴリーのように)
'rewrite' => array('slug' => 'custom_cat'),
)
);
}
add_action('init', 'create_custom_taxonomy');
このコードでは、custom_post
に**custom_cat
**という新しいカテゴリー分類が追加されます。
注意点
- コードを
functions.php
に追加した後、管理画面の「設定」→「パーマリンク設定」に一度アクセスして「変更を保存」ボタンを押してください。 これにより、URLのルールが更新され、カスタム投稿タイプのページが正しく表示されるようになります。 - 複数のカスタム投稿タイプやカスタム分類を作成する場合は、関数名をそれぞれユニークな名前にしてください。
カスタム投稿を扱うプラグイン
WordPressでカスタム投稿を扱うためのプラグインはいくつかありますが、代表的なものとして以下の2つが挙げられます。
1. Custom Post Type UI (CPT UI)
最も広く使われており、カスタム投稿タイプとカスタムタクソノミー(カスタム分類)を管理画面から簡単に作成・編集できるプラグインです。
- 特徴:
- コードを書く必要がなく、直感的なUIでカスタム投稿を作成できる。
- カスタム投稿のスラッグ、ラベル、アーカイブの有無など、詳細な設定が可能。
- カスタムタクソノミーも一緒に作成・設定できる。
- インポート・エクスポート機能があり、設定内容を別のサイトに簡単に移行できる。
- 多くの情報や利用事例が公開されているため、困ったときに解決しやすい。
2. Advanced Custom Fields (ACF)
ACFは本来カスタムフィールドを追加するためのプラグインですが、バージョン6.1以降はカスタム投稿タイプとカスタムタクソノミーの作成機能も備えるようになりました。
- 特徴:
- カスタム投稿タイプ、カスタムタクソノミー、カスタムフィールドを一つのプラグインでまとめて管理できる。
- 特に、繰り返しフィールドなどの高度なカスタムフィールドを多用する場合に便利。
- 有料版(ACF PRO)では、より多くの機能が利用できる。
どちらを選ぶべきか
- Custom Post Type UI (CPT UI):
- カスタム投稿タイプとカスタムタクソノミーをシンプルに作成したい場合。
- カスタムフィールドは別のプラグイン(ACFなど)で管理する場合。
- 多くのユーザーが利用しているため、情報量の多さを重視する場合。
- Advanced Custom Fields (ACF):
- カスタム投稿タイプ、カスタムタクソノミー、カスタムフィールドをすべて一つのプラグインで完結させたい場合。
- 特に高度なカスタムフィールド(繰り返しフィールドなど)を多用する場合。
どちらのプラグインも単体で十分に機能しますが、多くの場合、CPT UIとACFを組み合わせて利用することが一般的です。CPT UIで基本的なカスタム投稿タイプを作成し、ACFでそのカスタム投稿に必要なカスタムフィールドを追加していく、という使い方がよく行われます。
【THE THOR(ザ・トール)】
は、企業におすすめのWordPressテーマです。特に、デザイン性とSEO対策を重視する企業にとって、優れた選択肢となります。また、初心者でも比較的簡単に高品質な企業サイトを構築できる点が評価されています。
ザ・トール(THE THOR)はカスタム投稿を扱うことができます。
標準機能として、企業の「お知らせ」や「ニュース」といった用途に使えるカスタム投稿タイプが用意されています。
この機能を利用するには、WordPressのダッシュボードから以下の設定を行います。
- 「外観」 > 「カスタマイズ」
- 「カスタム投稿タイプ設定」 > 「基本設定」
- 「利用する」 を選択
この設定をすると、ダッシュボードのメニューに「お知らせ」という項目が追加され、通常の「投稿」とは別にカスタム投稿を作成・管理できるようになります。また、メニュー名を「ニュース」や「イベント情報」など、用途に合わせて自由に変更することも可能です。
もし、この標準機能以外のカスタム投稿タイプ(たとえば「商品情報」や「よくある質問」など)を扱いたい場合は、「Custom Post Type UI」のようなプラグインを導入することで、さらに柔軟にカスタム投稿を作成できます。