Webおよびグラフィック制作に関する情報を共有するサイトです

※当サイトのリンクには、アフィリエイト広告を含む場合があります。

「カスタム投稿」と「カスタムフィールド」

  
\ この記事を共有 /
「カスタム投稿」と「カスタムフィールド」

WordPressのページを作成する機能として「投稿」と「固定ページ」があります。

この違いにつきましては、こちらをお読みください。

ですが、WordPressでWebサイトを運用する際に、サイト構成によってはこの2種類だけでは管理がしにくくなる場合があります。

そういった時にWordPressの「カスタム投稿」という機能が便利なのでここで紹介していきます。
※ここでは詳しい「使い方」については割愛していますので、興味があれば各自でお調べください。

「カスタム投稿」とは?

「投稿」の場合は基本的に「カテゴリー」の機能を使うことで記事のグループ化ができますが、そのカテゴリーや記事が増えてくると「投稿」の中で混雑した状況になってしまい、該当する記事を見つけるのが困難になってしまいます。(その場合はカテゴリーでソートする方法もあります)

そんな時、WordPressでは「特定のジャンル専用の投稿」を追加することで、「お知らせ」や「お客様の声」など、投稿の中でも情報発信の記事とは切り離したいジャンルの投稿を作成することができます。

その機能が「カスタム投稿」と、カスタム投稿で使用するカテゴリーを「カスタムタクソノミー」となります。
(もちろんカスタム投稿でもWordPressの「カテゴリー」機能もそのまま使うことができます)

またこのサイトで配布している「ポートフォリオ用WordPressテーマ」でも作品ジャンルのカスタム投稿を追加しています。

「カスタム投稿」の使い方

この「カスタム投稿」を追加するには、2通りの方法があります。

  • PHPを使って追加する(functions.php)
  • プラグインを使う

WordPress(テーマ)の機能のため、functions.phpに必要なコードを書くことで追加できますが、当然PHPの知識が必要となります。

今は生成AIを使って、「○○というカスタム投稿を追加したい」といった感じで質問することで、functions.phpに記述するコードを解説付きで教えてくれるかと思います。

ただ、functions.phpに書く方法はWordPressテーマを変更すると使えなくなってしまうため、仕組みに慣れていない場合はプラグインを使った設置をおすすめします。

「カスタム投稿」を追加できるプラグイン

「カスタム投稿」を追加するためのプラグインは多々ありますが、有名なこちらのいずれかがあれば大丈夫でしょう。

  • Custom Post Type UI(CPT UI)
  • VK All in One Expansion Unit

後者は日本の会社が作ったプラグインのため、設定画面がわかりやすく初心者にはおすすめです。
副産物としてブロックテーマ(FSE)にすると使えなくなっていた「カスタマイザー(外観→カスタマイズ)」も使えるようになります。

「カスタム投稿」を追加する流れ(子テーマ必須)

「カスタム投稿」は追加する目的があるため「プラグインで追加して完了」とはいかず、使用する状況によっては目的に合わせてこれらを準備する必要があります。

例えば、カスタム投稿のページだけ違うレイアウトにしたい場合は以下のファイルが必要になります。

  • 個別記事のテンプレートファイル(single-○○.php)
  • カスタム投稿の記事一覧(アーカイブ)のテンプレートファイル(archive-○○.php)

※○○にはカスタム投稿のスラッグが入ります

この2つのPHPファイルを「子テーマ」のディレクトリにアップロードします。

この時に親テーマにアップロードしてしまうとテーマを更新した時に無くなってしまう可能性があるため、「カスタム投稿」をしっかりと活用する場合は子テーマを用意し、そこにカスタム投稿に必要なPHPファイルをアップロードしていただき、そちらをカスタム投稿の内容に合わせて編集していきます。

これを行うことで自動的に「カスタム投稿○○」で書いた記事を「single-○○.php」で表示するということができるようになります。
※ただし、記事ページの表示・レイアウトが通常の投稿と同じでも良い場合は、PHPファイルの追加は不要です。

該当するカスタム投稿記事を一覧表示をすることもできるようになります。

「カスタムフィールド」とは?

「カスタムフィールド」とは、投稿ページ(エディター)に「専用の入力欄」を追加することで、投稿の効率を良くするために使われます。(ウィジェットに近いものとイメージしてください)

「カスタムフィールド」の使用例

カスタムフィールドの使用例として、例えば「イベント」に関する投稿であれば、「イベントの詳細」や「紹介文」は本文の方に書いていき、

  • 日程
  • 場所(マップ)
  • 主催の名前

など、「どのイベントでも必要な基本情報」などをカスタムフィールドに書いていきます。

また「書評ブログ」の投稿であれば、自分の感想は記事の本文に書いていき、

  • 書籍名
  • 書籍のジャンル
  • 評価(★、点数)
  • 書籍のサムネイル

などをカスタムフィールドに書いていくという感じで、「どの記事でも同じ内容の項目がある」場合に、このカスタムフィールドを使うことで効率よく投稿ができるようになります。

「カスタムフィールド」の設定

この「カスタムフィールド」の設定も2通りの方法があります。

  • PHPを使って追加する(functions.php)
  • プラグインを使う

カスタム投稿と同様に後者の「プラグインを使う」を推奨しており、その場合以下のようなプラグインを使うことでカスタムフィールドの設定ができます。

  • Advanced Custom Fields
  • Smart Custom Fields

また、カスタムフィールドは「専用の入力欄」に記入した内容を表示するカスタマイズが必要になります。

そのため、「カスタム投稿」と組み合わせて「single-○○.php」などのテンプレートファイルに、カスタムフィールドの内容を表示するカスタマイズ(PHP)を施して子テーマにアップロードしておくと良いでしょう。
※PHPの「条件分岐」を活用すれば「single.php」に追記することも可能です

編集ページに所定の場所に記入したりチェックを入れたりすることで、実際のページではこのように表示させることができるようになります。

※カスタムフィールドの表示はテンプレートファイル(PHP)のカスタマイズが必要です。

「カスタムフィールド」の代替案

カスタムフィールドは「どのページでも同じ情報」を表示する場合にとても便利なのですが、基本的にはそれを表示するためにテンプレートファイル(PHP)のカスタマイズが必要になります。

使い方はインターネットで調べるといくらでも出てくるので割愛しますが、ブロックエディターが発達してきた昨今ではある程度代用できるので、そちらも併せて紹介しておきます。

「ブロックパターン」を利用する。

記入する内容が決まっているのであれば、「ブロックパターン」として登録しておくことで「どのページでも同じ情報を表示する」という条件はクリアできます。

例えば、書評ブログで使うような「書籍情報」をパターンにする場合はこのような手順で作成します。

1.ブロックを組み合わせて、「書籍情報」を入力するための項目を作成します。

2.リストビューを開き、親要素の3点メニューにある「パターンを作成」をクリックします。

3.任意の「名前」と「カテゴリー」を記入し、「同期」をオフにして「追加」をクリックします。

※「同期」がオンになっていると「どのページでも同じ内容が表示」となってしまうので、この場合は必ずオフにしてください。

4.パターン登録することで、どの記事でも「パターン」から設置できるようになります。

先ほども書いたように「カスタム投稿」や「カスタムフィールド」は、「カテゴリー」や「ブロックパターン」で代用できる部分もありますが、サイト構成や運営状況によっては「カスタム投稿」や「カスタムフィールド」が必要になる場合があります。

「Webサイトを作る側」であれば、両方の対応ができることが理想なので、WordPressをそれなりに扱えるようになることを目標とした場合、PHPの勉強は必要になります。

今では情報がたくさんありますので、インターネットで調べたり生成AIを併用して様々な知識を増やしていくと良いかと思います。