カスタムフィールドテンプレートでアップロードしたファイルを読み込むには | wp_kiroku

wp_kiroku

WordPressでのサイト制作について備忘録。

Custom Field Template。
非常に便利なプラグインである。

意外とつまづきやすいのが、
ファイルのアップロードを行った際
単にget_post_meta($post->ID, $file_custom_field, false);
とやっても数字が戻ってくるだけで、ファイルが取得できない、という部分。

これは投稿に添付されたファイルのIDを取得したということなので、
IDを変数に入れておき、
wp_get_attachment_url
wp_get_attachment_image_src
で展開しないといけない。

たとえば

$fileid = get_post_meta($post->ID, $file_custom_field, false);
$file = wp_get_attachment_image_src($fileid[0], 'full');
echo $file[0];

とすることで、URLが取得できる。

画像の場合はthumbnail, medium, large, fullのオプションでサイズを指定すると、
アップロードした元のファイルが巨大な画像であっても、縮小後のURLを取得できる。