エス技研

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の送信メールが協定世界時(UTC・グリニッジ標準時)の問題対応

WordPressから送信されてくるメールが9時間ずれている。その不具合の解消方法と根本原因の解説です。date_default_timezone_set();の設定を変更で対応できます。

WordPress csvインポート、エクスポートのプラグイン

WordPressから csvファイルをエクスポート、インポートする方法を紹介しています。

WordPressのアップグレードの英語版と日本語版の公開のタイムラグは?

WordPressのアップグレードの英語版と日本語版の公開のタイムラグについて説明しています。

WordPressで使うおススメ FTP、テキストエディタ、圧縮解凍ソフト

WordPressサイトを構築、運用するために必要となるFTPソフト、テキストエディタ、圧縮解凍ソフトのオススメソフトを紹介。

Lazy LoadでWordPressの高速化!SEO効果絶大!PVもアップ!

Lazy Loadは、画像を最初にまとめて読み込むことで発生するスピードの遅延を防ぎ、必要な画像から順番に読み込むことでページの表示スピードを向上させるプラグインです。

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

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

WP-PostRatingsでWordPressに自由度が高い口コミサイトを構築

口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージと投稿方法が用意されていてサイトにあったイメージを選択できます。

Advanced Custom Fieldsの全項目解説・公開側表示編集編

Advanced Custom Fieldsは現時点でカスタムフィールドを設定する最高のプラグイン。それで入力した情報を取り出す方法を全て網羅して解説しました。

WordPress記事のまとめ一覧・インストール、プラグイン、カスタマイズの記事

WordPress記事のまとめ。WordPressの記事が多くなってきたので記事の説明を追加した一覧記事を作成しました。各設定から機能のカスタマイズ、運用ノウハウまで参考に!

WordPressのインストール方法・セキュリティ重視 3つのポイント

WordPressのインストールをセキュリティ重視の視点から3つのポイントの解説と設定方法です。