私はBootstrap Carouselで私の画像キャプションをエコーアウトしようとしています。私は自分の画像を表示することに成功しましたが、私のキャプションを表示することができませんでした。 wp_get_attachment_metadataを使用しようとしましたが、何もエコーアウトされていません。
これが私が使っているコードです。
<?php
$args = array(
'post_type' => 'attachment',
'orderby' => 'menu_order',
'order' => ASC,
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID,
'exclude' => get_post_thumbnail_id()
);
$attachments = get_posts($args);
?>
<!-- Wrapper for slides -->
<!-- Wrapper for slides -->
<div class="carousel-inner">
<?php $i=0; foreach ($attachments as $attachment) { $imageInfo = wp_get_attachment_image_src($attachment->ID, 'full'); $imageCap = wp_get_attachment_metadata($attachment->ID) ?>
<div class="item <?php if ($i == 0) { echo 'active'; } ?> "> <img src="<?php echo $imageInfo[0]; ?>"/>
<div class="carousel-caption">
<h4><?php echo $imageCap->caption;?></h4>
</div>
</div>
<?php $i++; } ?>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
</div>
</div>
画像の正しい形式のキャプションを取得する
<?php $post_thumbnail_id = get_post_thumbnail_id( $post_id ); ?>
<?php
function wp_get_attachment( $attachment_id ) {
$attachment = get_post( $attachment_id );
return array(
'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
'caption' => $attachment->post_excerpt,
'description' => $attachment->post_content,
'href' => get_permalink( $attachment->ID ),
'src' => $attachment->guid,
'title' => $attachment->post_title
);
}
$at= wp_get_attachment($post_thumbnail_id);
print_r($at);//show array of all image detail like title , caption etc
?>