我相信你指的是this answer
您可以检查当前循环的索引并使用get_the_post_thumbnail
获取图像标签或the_post_thumbnail
来回应它。
您可以使用$current_post
property 获取当前索引并仅在第一次出现时显示。这是为实现这一点而修改的循环。
<?php
$cinemasight_header_query = new WP_Query( array(
\'category_name\' => \'academy-awards\',
\'posts_per_page\' => 3
) );
if ($cinemasight_header_query->have_posts()) :
while($cinemasight_header_query->have_posts()) :
$cinemasight_header_query->the_post();
if( 0 == $cinemasight_header_query->current_post ) : // This will print on first index only
?>
<span class="Categories_Upper_Left">
<span class="my-image-class"> <?php the_post_thumbnail(); ?></span>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a><br />
</span>
<?php
continue; // skip the rest of this loop because we got what we needed
endif; // End if for first index ?>
<span class="Categories_Upper_Left">
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a><br />
</span>
<?php
endwhile;
endif; // End loop
wp_reset_postdata();
?>
在我下面的评论中,我使用了
get_the_post_thumbnail() 返回
<img>
标记而不打印。
the_post_thumbnail() 将回显其输出。如果您有自定义图像大小,可以将其作为参数传递给此函数以检索它。本质上,此函数是get_the_post_thumbnail()
和通行证post-thumbnail
如果未指定图像大小,则将其作为默认图像大小。
选择哪个更适合你
EDIT
出于某种原因,我错过了您想要获得用作背景的图像。因此,您只需获取src
图像而不是整个<img>
标签
只需更改第一个索引的条件,如下所示
if( 0 == $cinemasight_header_query->current_post ) : // This will print on first index only
$thumbnail_id = get_post_thumbnail_id();
$image_src = wp_get_attachment_image_src( $thumbnail_id ); ?>
<div class="my-image-class" style="background-image: url( \'<?php echo $image_src[0]; ?>\') ;">
<span> <?php echo the_title(); ?> </span>
</div>
<?php
continue; // skip the rest of this loop because we got what we needed
endif; // End if for first index ?>
wp_get_attachment_image_src() 将返回
图像url:width:height:如果找不到图像,则为\\u intermediate:false,您还可以将图像大小作为第二个参数传递给函数