エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーとは?

      2017/03/12

カスタムフィールド、カスタム投稿、カスタムタクソノミー

 

WordPressのカスタム 3機能

 
WordPressの可能性を大きく拡張する機能として
 カスタムフィールド
 カスタム投稿(カスタムポスト)
 カスタムタクソノミー(カスタム分類)
があります。
WordPressのカスタム 3機能です。カスタム 3兄弟とも言われています。
 
20151116_web_01
 
この 3機能を使えるようになると、WordPressは単なるブログシステムから、高機能 CMSに変身します。
 
ですが、カスタムフィールド、カスタム投稿、カスタムタクソノミーは、WordPressの初心者のみならず、HTMLや PHPに苦手意識を持っている方にとっては非常にハードルが高い機能であることも事実です。
 
なぜなら、これらの機能を利用するにはプラグインだけでは完結しないからです。
カスタムフィールド、カスタム投稿、カスタムタクソノミーとして登録した情報を公開側のページに表示するには、テンプレートファイルや functions.phpファイルに何かしらのソースコードを記述する必要があるからです。
 
 
とはいうものの、WordPressのプラグイン開発者の方々は非常に優秀で、これらのカスタム 3機能も便利に使えるプラグインも増えてきました。
かなりの部分がプラグインで対応できるようになってきていますので、プラグインの紹介と合わせて使い方を解説していきます。
 
 

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

カスタムフィールドとは、投稿画面の項目を追加する仕組みです。
カスタムフィールドは、投稿画面の「表示オプション」の「カスタムフィールド」にチェックを入れると表示され、各投稿ごとに入力する項目を追加することができる仕組みです。
 
20151116_web_02
 
デフォルトの投稿画面の入力項目は、「タイトル」「本文」しかありませんが、例えば「飲食店の食べ歩き日記」のような記事を書いている場合、飲食店の名前や住所、地図などを「本文」とは別の専用の入力項目を作って編集したいと思う場合もあるでしょう。
 
そんな専用の入力項目を作る仕組みがこのカスタムフィールドです。
 
カスタムフィールドの機能は、カスタム投稿、カスタムタクソノミーと違って、初めから WordPressの管理機能の中に設定されている機能ですので、そのまま使い始めることもできる機能です。
 
ですが、WordPressのデフォルトのカスタムフィールド機能は非常に使いにくいため、何かしらのプラグインを利用して設定することが一般的です。
 
また、ここで入力したカスタムフィールドの項目の値を公開側の画面に編集する場合には、テンプレートファイルに値を取得して編集する処理を記述する必要がありますので、PHPの知識がゼロでは苦戦するでしょう。
公開側の画面に値を編集する処理は、プラグインを使った場合でも同じく PHPを利用して処理を記述する必要があります。
 
 

カスタムフィールドを便利に使うプラグイン

 
カスタムフィールドを便利に使うためのプラグインは、Advanced Custom Fields(ACF)をお勧めします。
Advanced Custom Fieldsの登場は比較的最近なのですが、突然現れて一気にメジャープラグインに上り詰めた便利なプラグインです。
その他では、Custom Field Templateも使いやすく、また、日本の開発者が作ったものですので日本語の解説も多く使いやすいものになっています。
 
それぞれ以下に記事を書いています。
Advanced Custom Fields管理画面の全項目完全解説・カスタムフィールド決定版!
Advanced Custom Fieldsの全項目解説・公開側表示編集編
WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法
Advanced Custom Fieldsの関数の全部の使い方を調べてみた
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説
WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーとは?
Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法
Advanced custom Fieldsのフィールドグループを簡単に複製する方法
Advanced custom Fieldsの条件判定活用方法・フィールドグループ複製より便利
Custom Field Templateで簡単にカスタムフィールドをフル活用
 
 

Advanced Custom Fields(ACF)でカテゴリの項目を追加

 
カスタムフィールドは、投稿や固定ページの入力項目を設定するだけの機能ではありません。
Advanced Custom Fields(ACF)を使うと、カテゴリやカスタムタクソノミー、ユーザ情報などの入力画面にも入力項目を簡単に追加することができるようになります。
 
例えば、カテゴリごとに解説の説明文や画像を登録する項目を追加するということもできるようになり、カテゴリ一覧の可能性も格段にアップします。
詳しい解説は、下記の記事を参照してください。
  WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法
 
 

カスタム投稿とは?

「カスタム投稿」は新しい「投稿」のグループを作る機能です。
 
20151116_web_03
 
WordPressのデフォルト設定では「投稿」「固定ページ」しかありません。
これに対して「『投稿』とは別のくくりで『投稿』を管理したい」という場合に使用するのが「カスタム投稿」です。
この「カスタム投稿」の設定をすると「投稿」と同じような「投稿」のくくりを複数持つことができるようになります。
 
例えば「飲食店の食べ歩き日記」として飲食店に関する日記ブログを書いていたとします。
ブログなので「投稿」の機能を利用して日々記事を投稿しています。
ですが、日記として書くほどでもないお店は日記とは別に「飲食店の場所を簡単に Googleマップを使ってマッピングだけしたい」と思ったとします。
 
飲食店の情報を入力する投稿には「飲食店名」「住所」「緯度・経度」「メニュー」「予算」...などなど項目を作って入力をする方が便利でしょう。
この辺りは、前項で解説したカスタムフィールドの機能を使用します。
 
カスタムフィールドの機能とカテゴリの仕組みを使って、「飲食店の地図」というカテゴリを選択した時だけ、カスタムフィールドに入力するという方法でも全く問題ありません。
 
ですが、日記として書いている記事と地図にマッピングしていく飲食店情報とが混在してくると管理が面倒になり、「『日記』と『飲食店情報』を分けて管理したい!」と思う場面が出てくるでしょう。
そんなときに使うのが「カスタム投稿」なのです。
 
「カスタム投稿」の機能を使うことで、新しい「投稿」のセットを設定することができ、「日記」とは全く別の「飲食店情報」の「投稿」機能を利用することができるようになります。
 
WordPressのデフォルトでは「投稿」と「固定ページ」は 1つずつですが、「カスタム投稿」を使うと、「投稿」グループをいくつでも増やすことができるようになります。
 
WordPressを企業サイトなどの CMSとして利用する場合、「お知らせ」を「投稿」の機能で作成し、「商品情報」「販売店情報」をそれぞれ「カスタム投稿」で新しい「投稿」として管理するということも可能になります。
 
 

デフォルトの投稿とカスタム投稿の違い

 
デフォルトの投稿と同じような投稿の仕組みを複数設定するものが「カスタム投稿」という説明をしましたが、実はデフォルトの「投稿」と「カスタム投稿」では違うところもあります。
「固定ページ」も含めて比較してみました。
 
「投稿」「カスタム投稿」の共通点

  • 投稿をカテゴリーやタグなどなどで分類できる
  • 簡単に時系列で並べられる
  • 抜粋が使える
  • 「投稿」全体で一つのテンプレート

 
「投稿」「カスタム投稿」の相違点

  • 「投稿」は記事自体に親子関係を作れないが「カスタム投稿」は記事自体に親子関係を作れる

 
 
「固定ページ」の特徴

  • ページをカテゴリーやタグなどで分類できない
  • ページに親子関係を付けることができる
  • ページごとに違うテンプレートファイルを使用可能

 
 
「カスタム」が付いていても「投稿」なので、「カスタム投稿」は「投稿」とよく似た動きをしますが、「投稿」にはない「投稿自体に親子関係を付けることができる」というところがプラスアルファの機能として付いています。
SEOを意識したサイト構成(サイト階層)を構築する上では重要な機能になります。
 
ちなみに「カテゴリーやタグなど」の表現の「など」には、この後解説をする「カスタムタクソノミー(カスタム分類)」が含まれています。
「投稿」も「カスタム投稿」もカテゴリやカスタムタクソノミーを使えば複数のカテゴリ分けをすることができますので、その点も「投稿」と変わりありません。
 
 

カスタム投稿を便利に使うプラグイン

 
カスタム投稿のプラグインには、カスタムフィールドの Advanced Custom Fieldsほど「これがいい!」というほどのプラグインはありませんが、Custom Post Type UIがおススメです。
 
定期的に機能がアップデートされてさらに使いやすくなってきています。
Custom Post Type UIは、この後解説をする「カスタムタクソノミー」も一緒に管理ができて便利なプラグインです。
 
  カスタム投稿をCustom Post Type UIで設定し編集する方法解説
 
 

カスタム投稿の設定方法

 
前項ではプラグインを使って「カスタム投稿」を管理する方法を解説しましたが、プラグインを使用しない場合は、functions.phpファイルに「register_post_type()」関数を使ってカスタム投稿の設定条件を記述していきます。
 
Custom Post Type UIの設定画面にある項目を functions.phpに一つずつ記述していくような感じで設定を行います。
詳しくは、下記のオフィシャルリファレンスをご覧ください。
 http://wpdocs.m.osdn.jp/関数リファレンス/register_post_type
 
 


 

カスタムタクソノミーとは?

 
カスタムタクソノミーは、新しい「カテゴリ」「タグ」のグループを作る機能です。
 
20151116_web_04
 
カスタムタクソノミーは、一番名前を覚えにくい機能ですが、タクソノミーとは「分類」のことです。
「カテゴリ」や「タグ」のような分類する機能を増やすことができる機能です。
 
 
例えば、「飲食店の食べ歩き日記」のブログを書いているとして、最初に作っていたカテゴリは「ファミリー向き」「デート向き」「接待向き」といったカテゴリーで分けていましたが、飲食店なので「ジャンル」として「和食」「中華」「イタリアン」、「場所」として「東京」「神奈川」「埼玉」といった感じで分類する方法を増やしたい!と思った時に利用するのが「カスタムタクソノミー(カスタム分類)」です。
 
「カスタムタクソノミー(カスタム分類)」として「ジャンル」「エリア」というグループを作成します。
その中で設定する「和食」「中華」などは「ターム(term)」と言い、「カテゴリ」の項目と同じように各タクソノミーの管理画面から登録をしていきます。
 
また、前項の「カスタム投稿」を利用する場合には、そのカスタム投稿ごとに「分類」が必要になってくるでしょうから、「カスタム投稿」ごとに「カスタムタクソノミー」を設定していくのが一般的なイメージです。
 
 

カテゴリとタグの違い

 
WordPressの分類には、「カテゴリ」と「タグ」があります。
「カテゴリ」と「タグ」には「階層化」する機能に違いがあり、階層化ができる方が「カテゴリ」で、できないのが「タグ」となっています。
 
カスタムタクソノミーは、「hierarchical」という項目で階層を持つか、否かの設定をすることができますので、カテゴリ的にもタグ的にも設定することができます。
(「Custom Post Type UI」というプラグインでは「階層」という項目で設定します。)
 
 

カスタムタクソノミーを便利に使うプラグイン

 
カスタムタクソノミーのプラグインも、カスタムフィールドほどこれがいい!というほどのプラグインはないのですが、カスタム投稿のところでも紹介をした Custom Post Type UIがおススメです。
 
一般的に、カスタムタクソノミーはカスタム投稿を作成すると、その分類用としてカスタムタクソノミーも作成しますので、カスタム投稿とカスタムタクソノミーが一つのプラグインで管理できるというのは合理的なプラグインと言えます。
 
Custom Post Type UIのカスタムタクソノミー設定に関する記事は、以下にあります。
 
  カスタムタクソノミーをCustom Post Type UIで設定し編集する方法解説
 
 

カスタムタクソノミーの設定方法

 
前項ではプラグインを使って「カスタムタクソノミー」を管理する方法を解説しましたが、プラグインを使用しない場合は、functions.phpファイルに「register taxonomy()」関数を使ってカスタムタクソノミーの設定条件を記述していきます。
 
Custom Post Type UIの設定画面にある項目を functions.phpに一つずつ記述していくような感じで設定を行います。
詳しくは、下記のオフィシャルリファレンスをご覧ください。
 http://wpdocs.m.osdn.jp/関数リファレンス/register_taxonomy
 
 

カスタムタクソノミーが分かりにくいと思う理由

 
「Custom Post」は「カスタム投稿」と表記され、「Custom Taxonomy」は「カスタムタクソノミー」と表記されることが多いようです。
それぞれ「カスタムポスト」「カスタム分類」と表記されることの方がレアケースのようです。
それはさておき、アメリカで「taxonomy」という単語がどれくらいメジャーな単語なのか分かりませんが、「『Post』のカスタム版が『Custom Post』なら、分類(Category)のカスタム版は『Custom Category』でよかったんじゃないか?」と思う次第です。
 
 

カスタム 3機能に関連する記事

 
カスタムフィールド、カスタム投稿(カスタムポスト)、カスタムタクソノミー(カスタム分類)について解説を行ってきましたが、管理画面の設定だけではなく、それを公開側のページに編集する方法や、検索などを使って活用する方法についても下記の記事で解説を行っていますので、併せて参考にしてみてください。
 
  カスタムタクソノミーのターム一覧をウィジェットにショートコードで編集
  ショートコードで簡単解決!カスタムフィールドでソート、抽出条件設定方法
 
 
最初にも書きましたが、カスタムフィールド、カスタム投稿(カスタムポスト)、カスタムタクソノミー(カスタム分類)を使えるようになると、WordPressの可能性がぐぐっ!と広がっていきますので、ぜひともチャレンジしてみてください。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法

WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。

Basic認証をファイル単位・URL単位で設定する方法の解説

Basic認証はフォルダ単位だけでなくファイル単位での設定もできるためログイン画面だけにBasic認証を設定することもできます。その解説です。

プラグインが原因で起動しないWordPressを復旧させる方法解説

プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。

EWWW Image Optimizerで画像の圧縮でWordPressを高速化

ページ表示の高速化に使うEWWW Image Optimizerの紹介です。英語で書かれているために取っつきにくいですが設定は3カ所。画像の圧縮もワンクリック。超簡単!

Custom Post Type UIでカスタムタクソノミーを設定し編集する方法解説

カスタムタクソノミーを追加、管理するプラグインCustom Post Type UIの使い方の解説。プラグインの解説ではあるものの、カスタムタクソノミーの仕様の解説でもある。

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。

WordPress 任意のファイルを読み込むショートコードの処理

投稿ページにショートコードを利用して任意のファイルを読み込む処理の解説です。

BackWPupでバックアップ・リストア(復元)の具体的手順

BackWPupその9。バックアップファイルからのリストア(復元)の手順です。

Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説

Advanced Custom Fieldsのアドオン・ギャラリーの解説記事。複数の画像を入力できる優れもので、画像のサイズ、容量などでの制限ができ、より厳密な管理が可能。

WordPress初心者向け フォルダ構成・データベース構成解説

BackWPupその11。バックアップを取るために必要なファイル、データベースの解説をします。