WordPress Codexによるとwp_get_attachment_metadataでメディアのキャプションが取得できるっぽい。
Array ( [width] => 2400 [height] => 1559 [file] => 2011/12/press_image.jpg [sizes] => Array ( [thumbnail] => Array ( [file] => press_image-150x150.jpg [width] => 150 [height] => 150 [mime-type] => image/jpeg ) [medium] => Array ( [file] => press_image-4-300x194.jpg [width] => 300 [height] => 194 [mime-type] => image/jpeg ) [large] => Array ( [file] => press_image-1024x665.jpg [width] => 1024 [height] => 665 [mime-type] => image/jpeg ) [post-thumbnail] => Array ( [file] => press_image-624x405.jpg [width] => 624 [height] => 405 [mime-type] => image/jpeg ) ) [image_meta] => Array ( [aperture] => 5 [credit] => [camera] => Canon EOS-1Ds Mark III [caption] => [created_timestamp] => 1323190643 [copyright] => [focal_length] => 35 [iso] => 800 [shutter_speed] => 0.016666666666667 [title] => ) )WordPress Codexより抜粋
$metadata = wp_get_attachment_metadata( $attachment_id );
$caption = $metadata['image_meta']['caption'] ? esc_html( $metadata['image_meta']['caption'] ) : '';
echo $caption;
これでいけるはずなんだけど、なぜか取得できず。
var_dumpしてみるもは空。これはバグなのでしょうか?
どうやらget_postで取得するしかなさそうです。
$caption = ( $attachment = get_post( $post_thumbnail_id ) ) ? esc_html( $attachment->post_excerpt ) : '';
echo $caption;


