エス技研

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のカテゴリの編集の解説

WordPressのカテゴリって何?というところから説明し、カテゴリを登録、編集する方法を解説します。また、カテゴリの順番を自由に変える方法も解説します。

WordPress環境を引越し、複製、バックアップ、リストアの手順解説

WordPress環境を引っ越し、複製、バックアップの手順書です。本番から開発、開発から本番、バックアップからのリストアなど環境を移す時の方法と手順の解説。

ロリポップでWordPress+Basic認証で不具合発生!回避方法解説

ロリポップサーバでWordPressを使いBasic認証を設定する際には注意しないとWordPressが動かなくなる場合も!その回避方法を解説します。

WordPress 画面が真っ白になる不具合があった場合の対応の一つ

WordPressで画面が真っ白になる不具合があった場合の対応方法の説明です。PHPでエラーが起こっている場合がほとんどですがその対処方法です。

SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応
SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応

WordPressからのメールをスパム判定されずに送信する「SMTP Mailer」の解説。SMTP MailerはPHP 5.6、7.0になってもSMTP接続でエラーにならない設定を搭載しているのが特徴。

WordPressで WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった

WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった。これは「wp_footer」の設定に問題があるからだった。

WordPressプラグインの3つのインストール方法解説

プラグインのインストール方法の特徴とおススメの方法を理由を含めて解説していきます。

実測比較・レンタルサーバスピード選手権!WordPressが速いのは?

WordPressが一番速く動くレンタルサーバはどれだ!実際にこのエス技研ブログをコピーして8つのサーバを比較。結果はヘテムル、X10、さくらプレミアムが同レベルで優秀。

WordPressの投稿プレビューのURLを変更する方法

プレビューを表示する際のURLを変更する方法の解説。「サイトアドレス (URL)」に基づいて編集されるURLを任意のURLに変更する場合の方法とその解説を行います。

wp_mail()関数でWordPressのスパム対策済のメールフォーム作成

WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。