WordPressのプラグイン「Advanced Custom Fields」を使って画像アップロード用のカスタムフィールドを用意しました。
その画像を表示させる際に、テキストなどと同じように
echo post_custom('[フィールド名]')
で表示してくれるのかと思いきや、そうではなかった。
上記だと、画像のIDのみが表示されるだけ。
最初「なんか・・・、数字・・・が出ているけど?」と、しばらく悩んでしまいました。
↓参考サイト
Advanced Custom Fieldsで画像の表示方法|wpのブログ
上記サイトでは画像ID取得にget_post_meta
を使っていたんですが、せっかくpost_custom
を使ったところだったのでこちらを使うことにします。引数もひとつで済むし。
ということで、
post_custom
で画像IDを取得して、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
をつけるのをお忘れなく。この「取得」と「表示」の違いで、いつもミスをしてしまう・・・。