我想在头版的特定div中的特定类别中显示最新的文章标题,可能是摘录。我还想用那篇文章的特色图片作为div的背景。有什么方法可以做到这一点吗?该DIV的当前显示如下所示:
<div class="Header_Section_Left"><span class="Category_Header_Title">ACADEMY AWARDS<br /></span><div id="Header_Upper_Left">
<?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 ) :
$thumbnail_id = get_post_thumbnail_id();
$image_src = wp_get_attachment_image_src( $thumbnail_id );?>
<div class="Categories_Upper_Left">
<a href="<?php the_permalink() ?>"><?php echo the_title(); ?></a>
</div>
<?php continue;
endif;?>
<span class="Categories_Upper_Left">
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a><br />
</span>
<?php endwhile;
endif;
wp_reset_postdata();?>
</div>
我试图在上面的Header\\u Upper\\u Left div中插入以下内容,但没有显示任何内容。如果我把它放在Categories\\u Upper\\u Left div中,它确实会显示一个背景图像,但只显示该帖子链接的URL。
style="background-image: url( \'<?php echo $image_src[0]; ?>\') ;"
我是否有什么做错了,或者我需要在部门内打另一个电话才能让它正常工作?
Here\'s the solution that resolved my issue. 为了避免混乱,我只发布了内容的相关部分。本质上,我只是在提取图像信息后,将Header\\u Section\\u Left DIV块移动到脚本中的点。我还添加了一段单独的代码,我们在下面的评论中讨论了这些代码,以获取完整图像,而不仅仅是它的缩略图。
if( 0 == $cinemasight_header_query->current_post ) :
$thumbnail_id = get_post_thumbnail_id();
$image_src = wp_get_attachment_image_src( $thumbnail_id $size = \'full\');?>
<div class="Header_Section_Left"><span class="Category_Header_Title">ACADEMY AWARDS<br /></span><div id="Header_Upper_Left">
<div class="Categories_Upper_Left">
<a href="<?php the_permalink() ?>"><?php echo the_title(); ?></a>
</div>
最合适的回答,由SO网友:CK MacLeod 整理而成
$image_src
当“Header_Upper_Left”div出现时还不存在。因此,在实际使用之前,您需要放置用于派生您想要使用的任何图像的代码$image_src
.
有几种方法可以做到这一点。很多主题都有这样做的一种方法,就像那些具有顶级“特色帖子”或“帖子”格式的主题一样,就是启动查询,只获取最新的帖子(及其数据、附件、内容),然后如果您将其用作主循环并再次显示同一帖子,则回放查询。
另一种方法是将特殊div从主查询中分离出来,并使用单独的查询或像get\\u posts()或wp\\u get\\u recent\\u posts()这样的包装器来获取post ID,然后使用post ID来获取附件ID。