Custom Field Template (カスタムフィールドテンプレート)というプラグインは、WordPress のカスタムフィールドというメタ情報の入力を支援するプラグインですが、カスタムフィールドの出力についてもサポートしています。今回は、Custom Field Template を使用してカスタムフィールドを出力する方法を解説していきます。
カスタムフィールドの出力には、[cft]
というショートコードを基本的に使用します。[cft]
のオプションによって以下の通り出力方法が変わります。
- キーを指定して個別のカスタムフィールドを出力する
- テンプレートを指定してカスタムフィールドを出力する
- フォーマットを指定してカスタムフィールドを出力する(おすすめ)
1.キーを指定して個別のカスタムフィールドを出力する
例えば以下のような、zipcode
というキーを持つ郵便番号のカスタムフィールドがあるとします。
[zipcode] type = text size = 10 label = 郵便番号
このカスタムフィールドを出力したい場合は、key というオプションにカスタムフィールドのキーを指定したショートコードを投稿欄に入力します。
[cft key="zipcode"]
2.テンプレートを指定してカスタムフィールドを出力する
Custom Field Template では、カスタムフィールドをテンプレートとしてまとめていくつでも設定することができますが、このテンプレートごとにカスタムフィールドを出力することができます。
テンプレートを指定してカスタムフィールドを出力する場合は、まず出力したいカスタムフィールドに、output = true
を指定しておく必要があります。
TEMPLATE #1
[zipcode] type = text size = 10 label = 郵便番号 output = true [pref] type = select value = 北海道 # 青森県 # 岩手県 # 宮城県 # 秋田県 # 山形県 # 福島県 label = 都道府県 output = true
このテンプレートをまとめて出力する場合は、template というオプションに、テンプレート番号を指定したショートコードを投稿欄に入力します。テンプレート番号を省略すると、0 が自動的に指定されます。
[cft template="1"]
3.フォーマットを指定してカスタムフィールドを出力する(おすすめ)
カスタムフィールドを自由にレイアウトして出力できるのが、このフォーマットを指定する方法です。
フォーマットを指定する場合は、あらかじめカスタムフィールドをどのように表示するかをフォーマットに定義しておく必要があります。[pref]
のようにキー名を囲むことでカスタムフィールドに置換されます。
FORMAT #0
<table> <tbody> <tr><th>郵便番号</th><td>[zipcode]</td></tr> <tr><th>都道府県</th><td>[pref]</td></tr> </tbody> </table>
このフォーマットでカスタムフィールドを出力する場合は、format というオプションに、フォーマット番号を指定したショートコードを投稿欄に入力します。フォーマットを指定する場合は、output = true を指定する必要はありません。
[cft format="0"]
出力に関して色々
投稿IDを指定して、カスタムフィールドを呼び出す
[cft]
ショートコードでは、投稿IDを指定することで、現在表示している記事とは異なる記事のカスタムフィールドを出力することができます。
[cft format="0" post_id="15"]
ショートコードをテーマのテンプレートファイルから直接呼び出す
ショートコードを、single.php や page.php などのテンプレートファイルから直接呼び出すには、do_shortcode()
という関数を使用します。
<?php echo do_shortcode('[cft format="0" post_id="'.get_the_ID().'"]'); ?>
まとめ
カスタムフィールドの出力には、PHPコードで直接呼び出す場合が多いと思いますが、Custom Field Template の出力機能をご利用いただくことで簡略化できると思います。特に、フォーマットを指定してカスタムフィールドを出力する方法は便利だと思いますのでぜひ使用してみてください。
この記事は、WordPants 第3号のライトニングパンツに掲載予定です。
Pingback: 株式会社ウインネット » test
Pingback: wordpressのCustom Field Templateプラグインのダッシュボードでインプットフィールドが縦一列だったので3カラムに変更 | てふてふ
Pingback: Wordpress|カスタムフィールドをつかって投稿 | 学生起業|貧乏学生から成金へのビジョン
Pingback: Custom Field Templateプラグインのダッシュボードでインプットフィールドが縦一列だったので3カラムに変更 | ノブログ