カスタムフィールドの値だけを表示する方法

カスタムフィールドに名前と値を設定したときに、ある名前の値だけを表示したいときについて。

仮に名前が「子テーマ」で値が「Twenty Ten」とした場合、値の「Twenty Ten」を表示するには下のようになります。

post_custom('子テーマ');

条件で判定する場合下のようになります。

if( post_custom('子テーマ') ):
  echo post_custom('子テーマ');
endif;

カスタムフィールドに同じ名前を2つ追加して、それぞれ別の値を設定した場合、面倒になります。

1つの名前で値が1つなら返り値はstringになるのでそのまま表示できるのですが、同じ名前でカスタムフィールをに登録して夫々別の値を設定した場合(そういう場面があるかどうか?)、返り値は配列になるので、それを取り出す必要があります。

ここでは、配列の場合、is_arrayで判定して配列になっている場合は、夫々の値を取り出して処理をしています。

if (is_array( post_custom('子テーマ'))){
  foreach(post_custom('子テーマ') as $ps ) {
    echo $ps . '<br />';
  }
} else {
  echo post_custom('子テーマ');
}

コメントを残す

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