運営:株式会社e2e

世界のWordPress最新情報を
届けるメディア

2021.07.27基礎知識

WordPressのカスタム投稿について

この記事を書いた人

wp.geek編集部

SEO対策やWeb制作・システム開発で実績のある企業です。 WordPressに特化したチームがお客様の課題を解決します。

この著者の他の記事を見る >>
カスタム投稿タイプは、WordPressを使用したサイト構築や改修を行っていると必ずと言えるほどお世話になる機能です。

しかし、クライアントのサイトの改修など、プラグイン無しでカスタム投稿を導入しなければならないケースもあるでしょう。

今回は、カスタム投稿タイプをプラグイン無しで導入する方法について解説していきます。

カスタム投稿タイプをプラグイン無しで導入する方法

カスタム投稿をプラグインを使用せずに追加するには、functions.phpにカスタム投稿タイプを使用できる処理の記述が必要です。

functions.phpを使用したカスタマイズ方法は、PHPを編集する必要があるため、FTP経由で本番環境からファイルを落としてから作業するか、Local by FlywheelやDockerを使用するなど、ローカル環境にWordPress環境を構築してから行ってください。

functions.phpを使用して、カスタム投稿を追加する場合は、register_post_typeというテーマ関数を使用します。

以下のように記述を行うことで、プラグインを使用しなくてもカスタム投稿を追加することができます。

【コード1】

functions.phpで設定したカスタム投稿タイプが管理画面上に表示されれば成功です。

【画像1】
画像1

その際、タクソノミーの設定も可能です。

タクソノミーの設定を行うには、register_taxonomyという関数を使用します。

【コード2】

ここで重要なのは、 hierarchicalとshow_in_resetという2つのオプションです。

hierarchicalは作ったタクソノミーをカテゴリーとして扱うかタグとして扱うかを選択することができます。

trueにするとカテゴリーのように、falseにするとタグのように扱うことができるようになります。

show_in_resetは、記事編集画面にタクソノミーの編集UIの表示・非表示を選択することができる項目です。

こちらは、基本的にはtrueで問題ありません。

作ったカスタム投稿を表示する

作ったカスタム投稿は、テンプレートを作成することで好きな形式で表示することが可能です。

テンプレートの名前は、single+カスタム投稿の識別名(今回の場合shops).phpにする必要があります。

今回の場合は、single-shops.phpというファイル名になります。

Template NameとTemplate Postには、それぞれ以下の設定を行います。

・Template Name・・・テンプレートの名前(管理画面に表示される)
・Template Post・・・テンプレートを表示するカスタム投稿の識別名(今回だとshopsになる)

【single-shops.php】コード3

上記の設定を行うと、以下のような画面が完成します。

【管理画面】画像2
画像2

【フロント】画像3
画像3

作ったカスタム投稿は、テンプレート以外の好きな場所にも表示することができます。

WP_Queryを使うとサイト内の好きな場所にカスタム投稿を表示することも可能です。

WP_Queryを使えば、固定ページや投稿ページ、ヘッダーやフッターなど、ページ以外の場所にもカスタム投稿を表示することができるようになります。

【functions.phpにshopsを記載する例】コード4

functions.phpにshopsというカスタム投稿を取得する処理を行う関数を記述しておくことで、テンプレート内の処理をスッキリさせることができます。

【コード5】

主な使用ケース

カスタム投稿の作成方法について解説しましたが、どういう時にカスタム投稿を使用する必要があるのか、いまいち分からないという方もいるでしょう。

カスタム投稿の使用例として、以下のようなケースがあります。

【カスタム投稿を使用するケースの例】
・元から存在する固定ページや投稿ページとは別に、記事の追加や管理をできるようにしたい場合

コンテンツの運用管理をしやすくするために使用するケース

カスタム投稿を使用するケースとして、中規模のサイト(コンテンツ数が200〜300を超えるメディアサイトのようなものを想定)を構築する際、コンテンツの運用管理をしやすくするための使用があります。

例えば、WordPressの管理画面上で口コミを管理する場合、投稿ページだけで記事とクチコミを管理してしまうと、カテゴリーの設定やコンテンツの検索が大変になるなど、コンテンツの保守運用の手間が増えます。

一方、カスタム投稿を利用する場合、クチコミ用のカスタム投稿を作成すれば、記事とクチコミの編集画面を完全に分離できます。

index・noindexの設定も記事やカテゴリーごとではなく投稿タイプごとに行えるので、SEO周りの設定ミスも起きづらくなるかと思われます。

導入基準がよくわからない方は、コンテンツの保守運用が大変になりそうなケースにカスタム投稿タイプを導入すると覚えておけば、間違いはないでしょう。

なお、規模の小さいサイトでは、カスタム投稿を使用する機会は多くありません。

小規模なサイトは、固定ページと投稿だけで事足りてしまう場合が多いからです。

まとめ

今回はカスタム投稿を使用する目的と基本的な使い方についてまとめてみました。

カスタム投稿タイプを導入する際、functions.phpを使う方法を知っておけば、役に立つ機会があるでしょう。
WordPressを業務で使用する方は、覚えておくことをおすすめします。

注目記事バナー