btmup Blog

Web 制作のことを中心に、ちょっとした Tips などを掲載しています。「自分用メモ」が基本スタンス。

WordPress

カスタムフィールドの指定したキーの値だけ表示する方法

投稿日:

カスタムフィールドに入力した値を出力するには、

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php the_meta(); ?>
<?php endwhile; endif; ?>

というテンプレートタグを使うのが最も基本的な方法です。
ただ、これだと入力したすべてのキーと値が一つの<ul>リストで出力されてしまい、使い勝手が良いとは言えません。

指定したキーの値を個別に出力できればなぁ……、と思っていろいろ調べた結果、実は別の関数を使えば簡単に出来ちゃうことが分かりました。
手元にある本のうち1冊にだけ載ってたような情報で、改めてググってみてもほとんど見つからず。
ってことは意外に知られていない方法なのかも。
(get_post_meta() 関数を使うのが本来の方法だというような気がしないでもないですが、より簡単に使える方が良いだろうということで)

post_custom() 関数を使う

指定したキーの値だけを出力するには、post_custom() を使います。

指定したキーに対して入力した値が1つだけの場合

post_custom() で取得できる値は文字列になります。

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php echo post_custom('key'); ?>
<?php endwhile; endif; ?>

取得した値(文字列)を echo で出力しています。

指定したキーに対して入力した値が複数ある場合

post_custom() で取得できる値はPHPの配列になります。

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php
$mywords = post_custom('key');
foreach ($mywords as $myword) {
	echo $myword;
} ?>
<?php endwhile; endif; ?>

まず $mywords で配列を受けて、foreach 文で$myword に小分けにしながら echo で出力しています。

参考書籍

上記の基本形の他に、「キーと値をPHPで扱う」方法なども載っていますので、興味のある方はご一読を。

実用例が豊富だったり、各関数が取得するデータを具体的に書いてあったり、何かと便利で分かりやすい本です。

雑記

WordPress Codex 日本語版で「post_custom」を検索してもヒットしないのですが、まさか非推奨とかではないよなぁ……?

WordPress Codex 日本語版 – カスタムフィールドの使い方にも get_post_meta() 関数のことしか書いてないし。

謎。







-WordPress
-,

執筆者:


  1. […] したキーに対して入力した値が1つだけの場合 参考サイト→カスタムフィールドの指定したキーの値だけ表示する方法 […]

  2. […] したキーに対して入力した値が1つだけの場合 参考サイト→カスタムフィールドの指定したキーの値だけ表示する方法 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

WordCamp 関西懇親会開催。

WordCamp Tokyo 2009 が 4 月 12 日(日)に開催されますが、それに伴って関西でも懇親会が開かれるそうです。 »WordCamp Japan » Word …

no image

WordPress のビジュアルエディタにテーブル(表組み)の追加・編集機能を付ける方法。

WordPress に標準で付いているビジュアルエディタには、テーブルの編集機能はありません。 既存のテーブルをいじったりすることはもちろん、新規に追加することすら不可。 HTML でガシガシ組める人 …

no image

query_posts() で指定した条件をクリアする方法

データベースからコンテンツを取得するときに、その条件などを指定する「query_posts()」。 非常に便利、というか「使わないとやってられん」的な超定番関数です。 この query_posts() …

no image

WordPress 2.8.1 日本語版リリース。

気が付いたら全然更新してなかったので、ここらで軽めの話題を一つ……。 »WordPress | 日本語 » WordPress 2.8.1 日本語版リリースのお知らせ まぁ、そ …

no image

WordPressの記事を複製できるプラグイン – 「Duplicate Post」

最近になってWordPressをCMS的に使う仕事が増えてきており、単純なテキストだけの記事の方が少なくなってきました。 そのため、「この記事(ページ)をコピーできたらなぁ……」と思う場面によく直面し …