Advanced Custom Fields で画像を表示する

WordPressのプラグイン「Advanced Custom Fields」を使って画像アップロード用のカスタムフィールドを用意しました。
その画像を表示させる際に、テキストなどと同じように

echo post_custom('[フィールド名]')

で表示してくれるのかと思いきや、そうではなかった。
上記だと、画像のIDのみが表示されるだけ。
最初「なんか・・・、数字・・・が出ているけど?」と、しばらく悩んでしまいました。

↓参考サイト

Advanced Custom Fieldsで画像の表示方法|wpのブログ

上記サイトでは画像ID取得にget_post_metaを使っていたんですが、せっかくpost_customを使ったところだったのでこちらを使うことにします。引数もひとつで済むし。
ということで、

  1. post_customで画像IDを取得して、
  2. wp_get_attachment_imageで画像出力HTMLを取得する

という流れになります。

//画像IDの取得
$image_id = post_custom('[画像アップロードのカスタムフィールド名]');
//画像IDから画像を表示 $sizeに表示サイズを設定(デフォルトは'thumbnail')
echo wp_get_attachment_image($image_id, $size); 

wp_get_attachment_imageの前にechoをつけるのをお忘れなく。この「取得」と「表示」の違いで、いつもミスをしてしまう・・・。

Wordpress | , , |