WordPress – カスタムフィールド活用術
個人的な見解ですが、普段、WordPressをブログとして使用していると「カスタムフィールド」の必要性を感じることがありません。しかし、CMSとしてユーザに開放する場合、要件に応じて独自の入力欄を用意しなければならないケースに遭遇します。ここで重宝するのが「カスタムフィールド」です。
オフィシャルサイトでマニュアルが掲載されているのですが、正直、PHP初心者には分かり辛いと思いますので、補足解説させていただきます。
カスタムフィールド値の格納先
カスタムフィールドの値は、データベースの「postmeta」テーブル内に格納され、同テーブルは以下のカラムから構成されています。
- meta_id
- post_id
- meta_key
- meta_value
ここで注目したいのは「meta_key」および「meta_value」です。カスタムフィールドを定義する際、フィールド名(アルファベット)を指定しますが、この値が「meta_key」に入ります。そして、投稿側で入力した実値は「meta_value」に格納されます。
カスタムフィールド関連プラグイン
「Custom Field Template」や「More Fields」はカスタムフィールドを使用する上でよく利用されますが、上記同様、値は全て「postmeta」テーブルの所定の場所に格納されます。
カスタムフィールドの呼び出し
「Custom Field Template」ではショートコードが用意されているので、投稿やページ内であれば簡単に呼び出すことができますが、テーマ側ではPHPを使用する必要があります。仮にデータベース内で以下のようなデータが格納されていたとしましょう。
- meta_id = 1
- post_id = 10
- meta_key = store
- meta_value = 東京都
この時、「東京都」を取得するのであれば、以下のように入力します。
<?php echo get_post_meta(10, store, true); ?>
さらにこれをテーマのループ内で呼び出すのであれば、以下を使用します。
<?php echo get_post_meta($post->ID, store, true); ?>
「$post->ID」は、各投稿およびページのIDを取得してくれます。
投稿やページでもExec-PHPを入れることでPHPが実行可能になりますので、ショートコードではなく、PHPを覚えていた方が汎用的だと思います。
WordPressおよびPHP初心者の方にご参考にしていただければと思います。
関連記事



























































参考になった!!PHPは3日目です。WordPressは1ヶ月ずっと苦労しています!ありがとうございました。
参考にしていただけて光栄です。これからも宜しくお願いします。
[...] 投稿欄に毎回ショートコード[cft]を記入するのは手間なので、下記エントリーを参考にカスタムフィールドの内容をDBから抜き出すことにした。 参考: カスタムフィールドの記事内での表示方法 WordPress – カスタムフィールド活用術 | Technolog.jp [...]
[...] ■WordPress – カスタムフィールド活用術 | Technolog.jp [...]