WordPress カスタムフィールドの使い方!

WordPress初心者に使い方のイメージの湧きにくいカスタムフィールドは、使ってみると便利で意外と簡単に実装ができる機能です。

この記事では、WordPressのCMS機能を使ったカスタムフィールドについて解説をします。

ツクルカツクルカ

カスタムフィールドは、CMS要件には欠かせない機能です。

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

WordPressのカスタムフィールドは、記事のタイトルや本文以外に別の情報を独自項目としてサイトに追加できる機能です。

カスタムフィールドを使うことで、

デザインをより細かくテンプレート化できる
追加した独自項目を並び替える(昇順・降順など)ためのデータとして格納できる

など、WordPressのCMS機能を利用したカスタマイズの幅を広げることができます。

カスタムフィールドの実践点的な使い方

カスタムフィールドは商品情報やイベント情報など、デザインが統一された記事を投稿する際に用いられいます。

商品情報であれば、

  • 商品名
  • 価格

など、ページの同じ場所に掲載されるような情報は、ページの本文に直接記載するのではなく、

フィールドを設定し、
カスタムフィールドの入力欄の値を変更する

だけで、ブラウザに出力するときにページ情報を書き換えることができます。

本文に価格を直接掲載していないため、カスタムフィールドで入力された値は、データとして管理されることになり、

商品名や価格ごとに昇順・降順

といった並び替え機能を実装することができるようになります。

カスタムフィールドの実装方法

一見ややこしそうなカスタムフィールドは、意外と簡単に実装することができます。

WordPressの管理画面にある「投稿」から、画面下に「カスタムフィールド」の設定・入力欄があります。

その入力欄から「新規追加」を選択し、「キー」と「値」を入力します。

そして、画面に表示するテンプレートタグをsingle.phpなどのテンプレートファイルに挿入します。

カスタムフィールドの実装例

<dl>
<dt>価格</dt>
<dd>1500円</dd>
</dl>

上記のHTMLタグにある「1500円」の部分にカスタムフィールドを挿入したい場合は、

<dl>
<dt>価格</dt>
<?php
$price = get_post_meta(get_the_ID(), 'price' ,true);
?>
<dd><php echo $price; ?>円</dd>
</dl>

とテンプレートタグを挿入します。

カスタムフィールドでは、get_post_meta()というWordPressのテンプレートタグを使用します。

get_post_meta()のパラメータは3つあり、上記の例では、

get_the_ID()
price
true

のパラメータを入れています。

1つ目のパラメータは、どの投稿からカスタムフィールドを引っ張ってくるかを指定しています。

get_the_ID()は現在ループしているページのページIDのカスタムフィールドを引っ張ってくる指定となります。

2つ目のパラメータは、投稿画面のカスタムフィールドに設定されている「キー」を入力します。

3つ目のパラメータは、値の有無を表しており、大体の場合は「true」を返します。

プラグインを使用してリッチなカスタムフィールドを作る

get_post_meta()を使うだけのカスタムフィールドは、プラグインを利用することでよりリッチなフィールドをページに実装することができます。

フィールドに画像を挿入したり、
カレンダーから日付を選んで設定したり、
チェックボックス仕様にしたり、
ループの中で色々な処理を回す

まずは、デフォルトの使い方をマスターして、慣れた段階でプラグインを用いたカスタマイズに挑戦してみましょう。

まとめ

  • タイトルや記事ではなく、任意のフィールドに値を入れる
  • テキストではなくデータとして情報を保持している
  • 任意の場所にテンプレートタグのget_the_meta()を使うだけ
  • プラグインを使用するとリッチなカスタムフィールドを作れる