WordPress カスタムフィールドの設定とデータの出力方法

Pocket

通常Wordpressの投稿画面で入力したものは、すべてthe_content()内出力されます。イベントの日時や場所を入れたい場合には毎回投稿画面にテーブルを記述する必要があります。

こんなときに役立つのがカスタムフィールド。カスタムフィールドを使えば投稿ごとに個別の値を設定でき、テーブルなどはテンプレート側に記述することで、投稿作業を効率良く行うことが可能になります。

やり方はすごく簡単なのでさくっとやってしまいましょう。

カスタムフィールドの設定とデータ出力方法

カスタムフィールドの設定、入力方法

カスタムフィールドを設定するには、投稿エリアの下にあるカスタムフィールドのエリアに値を入れていきます。表示されていない場合は表示オプションでチェックしておきましょう。
Wordpress カスタムフィールドの表示方法

値を設定するには、新規追加をクリックしてラベル(名前)を作成します。
カスタムフィールドの名前を設定する

次は値を入れます。イベントの日付なら15日のように入れておきます。,(カンマ)で区切れば複数の値を入力することもできます。
customfield3

あとはこれを繰り返して必要な分だけ設定すれば完了。一度設定したラベルは次から選択ボタンで選ぶことができるようになります。

カスタムフィールドで設定した値の出力方法

投稿画面で設定した値を取り出す方法は、記事のループ内で以下のタグを使います。

<?php get_post_meta($post_id, $key, $single); ?>

いくつか設定するパラメーターがありますが、簡単に説明するとこんな感じ。

  • $post_id: 投稿ID、$post->IDと入れておきます。
  • $key: カスタムフィールドのラベル
  • $single: 1つの値を出力するならtrue、配列ならfalse

先ほど設定したものならこちらのようになります。出力した値を変数等に格納するのではなく、直接表示する場合はechoをつけておきます。

<?php $key="event-day"; echo get_post_meta($post->ID, $key, true); ?>

カスタムフィールドの値はどこでも出力できるので、リンクならhref=""内にいれたり、テーブルに値を入れたり自由に設定可能。

もちろん個別ページだけでなく、一覧ページにも表示できます。

カスタムフィールドのおすすめプラグイン

カスタムフィールドプラグインはTypesがおすすめ

先ほどはWordpressで最初から使えるカスタムフィールドの使い方を紹介しました。カスタムフィールドをさらに詳細に設定したり、テンプレートに入力項目を組み込んだりするにはプラグインのTypesがおすすめ。
カスタムフィールドのおすすめプラグインTypes

Typesを使えばチェックボックスやラジオボタン、画像のアップロード機能などを使うことができます。
customfield4-types

また、カスタムフィールド以外にもカスタムタクソノミーやカスタム投稿タイプも簡単につくれるので非常に便利なプラグインです。
customfield5-types