Custom Field Templateで、type = file を使って指定した画像のURLを出力する


Wordpress
カスタムフィールドテンプレートはWordPressのカスタマイズにとってとても便利なプラグインです。
type = file でファイルのアップロード項目も追加できますが、カスタムフィールドの値を出力するときによく使うget_post_metaで以下の用に記述すると「123」など数字が表示されてしまいます。

echo get_post_meta($post->ID,'image-sample',true);

これはカスタムフィールドに登録された値が、画像のID番号のためこのように出力されてしまいます。

今回はこのカスタムフィールドに登録された画像IDから画像のURLを出力する方法です。
これができると、カスタムフィールドを使って画像の差し替えなども可能になりますので、カスタマイズの幅がかなり広がります。

まずは画像のURLを変数 $image_attributes01 に代入します。

$image_attributes01 = wp_get_attachment_image_src(get_post_meta($post->ID,'image_sample',true),'thumbnail');

$image_attributes01 は任意の変数なので、名前は自由につけて下さい。
wp_get_attachment_image_srcを使って、第一引数でカスタムフィールドに登録された画像IDを指定します。
上記コードのimage_sampleの部分をカスタムフィールドテンプレートで指定したカスタムフィールドの名前に書き換えます。

第二引数で画像のサイズを指定します。第二引数で指定できる画像サイズは以下の4つです。
上記コードのthumbnailの部分を書き換えるとサイズを変更することができます。

あとはURLを出力したい箇所に以下のコードを記述すれば、出力できます。

echo $image_attributes01[0]

“Custom Field Templateで、type = file を使って指定した画像のURLを出力する” への1件のコメント

  1. […] Custom Field Templateで、type = file を使って指定した画像のURLを出力する 参考にさせて頂いたサイトです。 有り難うございます。 […]

コメントを残す