WordPressのカスタム投稿の作り方

WordPressカスタム投稿とは

WordPressにおけるカスタム投稿タイプとは、ブログ投稿や固定ページとは別に、独自のコンテンツタイプを作成できる機能のことです。これにより、目的に応じた特定の種類のコンテンツを管理・表示できます。

なぜカスタム投稿タイプが必要なのか?

たとえば、ウェブサイトで「お知らせ」や「商品レビュー」など、ブログ記事とは異なる形式のコンテンツを扱いたいとします。この場合、すべてのコンテンツを「投稿」として扱うと、以下のような問題が生じることがあります。

  • 管理が複雑になる: ブログ記事、お知らせ、商品情報などがすべて「投稿」として混在し、管理画面が見にくくなります。
  • デザインやレイアウトが統一できない: 各コンテンツの表示方法を個別に調整する必要があり、手間がかかります。
  • 機能が不十分: 特定のコンテンツタイプに特化したフィールド(例:商品レビューの評価、価格、商品画像など)を追加することが難しくなります。

カスタム投稿タイプを使用することで、これらの問題を解決できます。

カスタム投稿タイプでできること

カスタム投稿タイプを導入すると、以下のようなことが可能になります。

  • 独自のコンテンツセクションの作成: 「商品」「お知らせ」「イベント情報」など、それぞれのコンテンツに専用の管理画面を作成できます。
  • 独自のフィールドの追加: 投稿にタイトルや本文以外の情報を追加できます。たとえば、商品投稿に「価格」「在庫数」「商品の特徴」といった項目を追加できます。
  • 専用のカテゴリーやタグの設定: 特定のカスタム投稿タイプにのみ使用できる独自の分類(タクソノミー)を作成できます。
  • 表示テンプレートのカスタマイズ: 特定のカスタム投稿タイプにのみ適用される専用のデザインやレイアウトを設定できます。

カスタム投稿タイプの作成方法

カスタム投稿タイプを作成する方法は、主に以下の2つです。

  1. プラグインを利用する: 「Custom Post Type UI」や「ACF (Advanced Custom Fields)」などのプラグインを使用すると、コードを書かずにGUIで簡単にカスタム投稿タイプを作成できます。初心者にはこの方法がおすすめです。
  2. 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');
Code language: PHP (php)

このコードでは、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');
Code language: PHP (php)

このコードでは、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でそのカスタム投稿に必要なカスタムフィールドを追加していく、という使い方がよく行われます。

WordPressをカスタマイズする方法

WordPressをカスタマイズする主な方法と、それぞれの概要、難易度をまとめた表を作成しました。WordPressのカスタマイズは、目的や技術的なスキルレベルに応じて様々なアプローチがあります。

方法概要主な目的難易度
テーマの変更デザインの基本構造、レイアウトを一新します。無料・有料のものが多数あります。デザイン、全体的な機能の変更低〜中
テーマカスタマイザーWordPress標準機能で、テーマの色、フォント、ヘッダー画像などをコードを書かずに変更します。見た目の微調整、ロゴやウィジェットの設定
プラグインの導入既存のWordPressにない機能(お問い合わせフォーム、SEO対策、セキュリティ強化など)を追加します。機能の追加・拡張低〜中
CSSの追加テーマの見た目(色、サイズ、配置など)を細かく調整するために、カスタムCSSを追記します。デザインの微調整
子テーマの使用と編集親テーマを直接編集せず、子テーマを作成し、その中のファイル(functions.php やテンプレートファイルなど)を編集して機能を変更・追加します。機能やレイアウトの変更(テーマのアップデートに備える)中〜高
テーマファイルの直接編集親テーマのファイル(header.php, index.php など)を直接編集します。機能やレイアウトの根本的な変更
カスタムテーマ・プラグイン開発既存のものを使わず、ゼロから独自のテーマやプラグインをPHPなどを使い開発します。独自のデザインと機能の実装最も高

カスタマイズのヒント

  • 簡単な変更から始める場合は、「テーマカスタマイザー」や「プラグインの導入」が最も手軽です。
  • デザインを少し変えたい場合は、「CSSの追加」が強力です。
  • 本格的な機能追加やレイアウト変更を行う際は、テーマのアップデートで変更が消えないように「子テーマの使用と編集」を強くお勧めします。

WordPressテーマ カスタマイズのしやすさ 傾向比較

一般的にWeb上で言われている評判や特徴に基づいて、「コード知識が少ない人が、手軽にデザインを変更できる(=カスタマイズしやすい)」という視点での傾向をまとめています。

順位 (※傾向)テーマ名主な特徴とカスタマイズの傾向
1THE THOR(ザ・トール)専用カスタマイザー機能が非常に豊富で、コードを書かずに細部までデザインを変更できる。多機能ゆえに操作が複雑に感じる場合もあるが、カスタマイズの幅は広い。
2STORK SE(ストークSE)シンプルな構造で、初心者でも迷いにくい設計。ブログ運営に特化した機能が充実しており、特別な知識がなくても見栄えの良いデザインになりやすい。
3Emanon(エマノン)マーケティング・ビジネスサイト向け。専用ブロックやウィジェットが用意されており、必要な要素を簡単に配置できる。多機能なPro版などがある。
4LIQUID PRESS(リキッドプレス)標準機能は抑えつつも、カスタマイズの拡張性が高い。知識があれば自由に変更しやすいが、THE THORほど専用設定項目は多くない傾向。
5RE:DIVER(リダイバー)比較的新しいテーマで、Webサイト制作向けのモダンなデザインが特徴。専用機能でのカスタマイズと、コードカスタマイズのバランスが取れている。
6GOLD MEDIA(ゴールドメディア) / GOLD BLOG(ゴールドブログ)開発元が同じで、多機能性を売りにしていることが多い。多機能ゆえに初心者には難しいと感じる部分もあるが、専用のオプションは用意されている。

インターネットビジネスは、インターネットやIT技術を活用して商品やサービスを提供し、収益を得るビジネス全般を指します。企業の規模に関わらず、非常に多岐にわたる活動が含まれます。
企業がインターネットビジネスに必要とされる知識

  • SEO(検索エンジン最適化) | マーケティング | データ分析【デジタルマーケティングの知識】
  • WEBサイトの仕組み | ECサイト運営 | セキュリティ対策【Web制作・技術の知識】
  • 事業計画 | 特定商取引法 | 景品表示法 | 知的財産権 | ITリテラシー【ビジネス・法律の知識】

インターネットビジネスに活用したいWEBサービス