WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーとは?
2015/11/19
カスタムフィールド、カスタム投稿、カスタムタクソノミー
WordPressのカスタム 3機能
WordPressの可能性を大きく拡張する機能として
カスタムフィールド
カスタム投稿(カスタムポスト)
カスタムタクソノミー(カスタム分類)
があります。
WordPressのカスタム 3機能です。カスタム 3兄弟とも言われています。
この 3機能を使えるようになると、WordPressは単なるブログシステムから、高機能 CMSに変身します。
ですが、カスタムフィールド、カスタム投稿、カスタムタクソノミーは、WordPressの初心者のみならず、HTMLや PHPに苦手意識を持っている方にとっては非常にハードルが高い機能であることも事実です。
なぜなら、これらの機能を利用するにはプラグインだけでは完結しないからです。
カスタムフィールド、カスタム投稿、カスタムタクソノミーとして登録した情報を公開側のページに表示するには、テンプレートファイルや functions.phpファイルに何かしらのソースコードを記述する必要があるからです。
とはいうものの、WordPressのプラグイン開発者の方々は非常に優秀で、これらのカスタム 3機能も便利に使えるプラグインも増えてきました。
かなりの部分がプラグインで対応できるようになってきていますので、プラグインの紹介と合わせて使い方を解説していきます。
カスタムフィールドとは?
カスタムフィールドとは、投稿画面の項目を追加する仕組みです。
カスタムフィールドは、投稿画面の「表示オプション」の「カスタムフィールド」にチェックを入れると表示され、各投稿ごとに入力する項目を追加することができる仕組みです。
デフォルトの投稿画面の入力項目は、「タイトル」「本文」しかありませんが、例えば「飲食店の食べ歩き日記」のような記事を書いている場合、飲食店の名前や住所、地図などを「本文」とは別の専用の入力項目を作って編集したいと思う場合もあるでしょう。
そんな専用の入力項目を作る仕組みがこのカスタムフィールドです。
カスタムフィールドの機能は、カスタム投稿、カスタムタクソノミーと違って、初めから WordPressの管理機能の中に設定されている機能ですので、そのまま使い始めることもできる機能です。
ですが、WordPressのデフォルトのカスタムフィールド機能は非常に使いにくいため、何かしらのプラグインを利用して設定することが一般的です。
また、ここで入力したカスタムフィールドの項目の値を公開側の画面に編集する場合には、テンプレートファイルに値を取得して編集する処理を記述する必要がありますので、PHPの知識がゼロでは苦戦するでしょう。
公開側の画面に値を編集する処理は、プラグインを使った場合でも同じく PHPを利用して処理を記述する必要があります。
カスタムフィールドを便利に使うプラグイン
カスタムフィールドを便利に使うためのプラグインは、Advanced Custom Fields(ACF)をお勧めします。
Advanced Custom Fieldsの登場は比較的最近なのですが、突然現れて一気にメジャープラグインに上り詰めた便利なプラグインです。
その他では、Custom Field Templateも使いやすく、また、日本の開発者が作ったものですので日本語の解説も多く使いやすいものになっています。
それぞれ以下に記事を書いています。
カスタムフィールド決定版!Advanced Custom Fields全項目完全解説・管理画面編
Advanced Custom Fieldsの全項目解説・公開側表示編集編
Advanced Custom Fieldsの関数の全部の使い方を調べてみた
超簡単!Custom Field Templateでカスタムフィールドをフル活用
Advanced Custom Fields(ACF)でカテゴリの項目を追加
カスタムフィールドは、投稿や固定ページの入力項目を設定するだけの機能ではありません。
Advanced Custom Fields(ACF)を使うと、カテゴリやカスタムタクソノミー、ユーザ情報などの入力画面にも入力項目を簡単に追加することができるようになります。
例えば、カテゴリごとに解説の説明文や画像を登録する項目を追加するということもできるようになり、カテゴリ一覧の可能性も格段にアップします。
詳しい解説は、下記の記事を参照してください。
WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法
カスタム投稿とは?
「カスタム投稿」は新しい「投稿」のグループを作る機能です。
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
カスタムタクソノミーとは?
カスタムタクソノミーは、新しい「カテゴリ」「タグ」のグループを作る機能です。
カスタムタクソノミーは、一番名前を覚えにくい機能ですが、タクソノミーとは「分類」のことです。
「カテゴリ」や「タグ」のような分類する機能を増やすことができる機能です。
例えば、「飲食店の食べ歩き日記」のブログを書いているとして、最初に作っていたカテゴリは「ファミリー向き」「デート向き」「接待向き」といったカテゴリーで分けていましたが、飲食店なので「ジャンル」として「和食」「中華」「イタリアン」、「場所」として「東京」「神奈川」「埼玉」といった感じで分類する方法を増やしたい!と思った時に利用するのが「カスタムタクソノミー(カスタム分類)」です。
「カスタムタクソノミー(カスタム分類)」として「ジャンル」「エリア」というグループを作成します。
その中で設定する「和食」「中華」などは「ターム(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の可能性がぐぐっ!と広がっていきますので、ぜひともチャレンジしてみてください。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
WordPressのサイトマップ生成ツールPS Auto Sitemapの使い方
サイトマップを PS Auto Sitemapで自動生成する方法を説明します。このプラグインは Google用のサイトマップではなく一般ユーザが見るためのサイトマップページを作ります。
-
WordPressのプラグイン WP-DBMANAGERを使って PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップ
WP-DBMANAGERを使って WordPress以外の PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップする方法を解説。
-
実測比較・レンタルサーバスピード選手権!WordPressが速いのは?
WordPressが一番速く動くレンタルサーバはどれだ!実際にこのエス技研ブログをコピーして8つのサーバを比較。結果はヘテムル、X10、さくらプレミアムが同レベルで優秀。
-
WordPressのCrayon Syntax Highlighterの使い方
PHP、HTMLなどのソースコードを紹介する際に見やすく編集してくれる Crayon Syntax Highlighterの設定の方法、利用方法の解説です。
-
WordPressのウィジェットにGoogle+ページのバッジ編集方法
Google+ページの特徴(Facebook、Mixiとの違い)や構築のメリット(Google対策)、登録、バッジの編集方法の解説。
-
SI CAPTCHA Anti-Spamを使って WordPressのコメントスパム対策をする
コメントスパム対策として入力させない対策の一つとしてCAPTCHAという方法がありそれを簡単に実装できるプラグインSI CAPTCHA Anti-Spamの解説です。
-
AddQuicktagを使って WordPressの投稿を楽にする
投稿時にタグの入力を楽にしてくれるプラグイン「AddQuicktag」の使い方の説明です。クリック一つでタグを編集できます。
-
WordPressの functions.phpがある場所
WordPressのカスタマイズには大切な functions.phpですが、最初はその場所がどこなのか分かりませんのでその説明をしています。
-
Export to Textで WordPressを csv出力
WordPressのデータを csv出力する Export to Textの使い方を解説しています。
-
WordPressの不正ログインを Force email loginで回避
WordPressのセキュリティ強化に Force email loginを使う理由と設定方法の解説をしています。