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

WordPress 2.9 リリース! 画像編集や動画埋め込みが簡単に!

去る12月19日、WordPress 2.9 がリリースされました(されてました)。 2.8.6 へのアップデートもまだだというのに。 もっとやきもきさせるのかと思いきや、意外とあっさり出たような気が …

no image

WordPress 2.7 日本語版リリース。

先週の英語版に続いて日本語版が正式にリリースされました。 (相変わらずダッシュボードのメッセージは環境によって出たり出なかったりするんですけど) とりあえずテスト用の環境でアップグレード。 ちょちょっ …

no image

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

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

no image

WordPress 2.8.1 日本語版リリース。

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

no image

ルートからの相対パスが Broken Link Checker でリンク切れと判定されてしまう問題と解決法。

WordPress には「Broken Link Checker」という大変便利なプラグインがあります。 その名の通りサイト内のリンク切れを見つけて、ダッシュボードなどで知らせてくれるという優れモノ。 …