当我运行这个wordpress查询时,没有显示背景图像,而是得到了div字符串的结尾?图像字符串将显示在浏览器检查器中,但不会显示在屏幕上。这是显示“\')无重复的回显字符串;“>下面是代码:
<div class="leftBox">
<?php
$query = new WP_Query( \'pagename=jour\' );
// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
}
if ( has_post_thumbnail() ) {
$thumbnail = get_the_post_thumbnail($post->ID,\'thumbnail\'); ?>
<div class="entry-content" style="background: url(\'<?php echo $thumbnail; ?>\') no-repeat;">
<a href="<?php echo get_permalink(); ?>" title="Go to <?php echo the_title(); ?>"><P><?php the_title(); ?></p></a>
</div>
<?php
}
}
/* Restore original Post Data */
wp_reset_postdata();
?>
</div>
最合适的回答,由SO网友:darrinb 整理而成
get_the_post_thumbnail()
返回图像的完整html输出,包括图像<img />
标签。您只需要图像src。尝试以下操作:
<div class="leftBox">
<?php
$query = new WP_Query( \'pagename=jour\' );
// The Loop
if ( $query && $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
if ( has_post_thumbnail() ) {
$img_src = wp_get_attachment_image_url( get_post_thumbnail_id( get_the_ID() ), \'thumbnail\' );
?>
<div class="entry-content" style="background: url(\'<?php echo esc_url( $img_src ); ?>\') no-repeat;">
<a href="<?php echo get_permalink(); ?>" title="Go to <?php echo the_title(); ?>"><p><?php the_title(); ?></p></a>
</div>
<?php
}
endwhile;
endif;
/* Restore original Post Data */
wp_reset_postdata();
?>
</div>