各画像の画像キャプションをカルーセルに入れたいと思います。alt タグは正常にプルできますが、キャプションを取得できません。
これは私がこれまで持っているものですが、壊れています。
<?php $args = array(
'post_type' => 'homepageslider',
'posts_per_page' => 1
);
$query = new WP_Query($args);
while ($query->have_posts()):
$query->the_post();
$meta = get_post_meta( get_the_ID( ), 'homepage_media_gallery', false );
if ( !is_array( $meta ) )
$meta = ( array ) $meta;
if ( !empty( $meta ) ) {
$meta = implode( ',', $meta );
$images = $wpdb->get_col( "
SELECT ID FROM $wpdb->posts
WHERE post_type = 'attachment'
AND ID IN ( $meta )
ORDER BY menu_order ASC
" );
foreach ( $images as $att ) {
// Get image's source based on size, can be 'thumbnail', 'medium', 'large', 'full' or registed post thumbnails sizes
$attachment_meta = wp_get_attachment($att);
$link = $attachment_meta['caption'];
$src = wp_get_attachment_image_src( $att, 'full' );
$alt = get_post_meta($att, '_wp_attachment_image_alt', true);
$src = $src[0];
// show caption
echo $link;
// Show image
echo "<div><img src='{$src}' class='project-images' />"; ?>
<?php if ($alt) : ?>
<div class='homepage-caption'>
<?php echo $alt; ?>
</div>
<?php endif ?>
<?php echo "</div>";
}
}
endwhile
?>
クエリ内の各画像のキャプションを取得するにはどうすればよいですか? WP Meta Boxes プラグインを使用して画像を取得しています。
アップデート
オブメルクは正しかった。SQL クエリは必要ありませんでした。これは、各画像の代替、キャプション、および説明を取得するものです。
<?php
$args = array( 'post_type' => 'attachment',
'orderby' => 'menu_order',
'order' => 'ASC',
'post_mime_type' => 'image' ,
'post_status' => null,
'numberposts' => null,
'post_parent' => $post->ID,
'exclude' => get_post_thumbnail_id()
);
$attachments = get_posts($args); ?>
<?php if ($attachments) : ?>
<?php foreach ( $attachments as $attachment ): ?>
<?php
$alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true);
$image_title = $attachment->post_title;
$caption = $attachment->post_excerpt;
$description = $attachment->post_content;
$src = wp_get_attachment_image_src( $attachment->ID, 'full' );
list($width, $height, $type, $attr) = getimagesize($src[0]); ?>
<div class="projectBlock">
<div class="projectCopy">
<h2><?php echo $alt ?></h2>
<h3><?php echo $caption ?></h3>
<p class='projectDescription'><?php echo $description ?></p>
</div>
<div class="projectImage">
<img src="<?php echo $src[0]; ?>" class="project-images
</div>
</div>