the_post_thumbnail()
和get_the_post_thumbnail()
将输出用于显示该图像的完整HTML。所以这个
<img class="img-responsive" src="<?php the_post_thumbnail(); ?>" alt="">
将被渲染为如下内容
<img class="img-responsive" src="<img src="..." alt=".." class="..">" alt="">
这是
not valid HTML 你真的不知道浏览器会如何显示它。
现在您有2种选择:按预期使用此功能,或通过wp_get_attachment_thumb_url()
并以自定义方式显示。
<div class="img-block">
Option 1
<?php the_post_thumbnail(null, \'post-thumbnail\', array(\'class\' => \'img-responsive\')); ?>
Option 2
<?php
$url = wp_get_attachment_thumb_url( get_post_thumbnail_id() );
?>
<img class="img-responsive" src="<?php echo $url; ?>" alt="">
</div>
正如您所看到的,即使在使用
the_post_thumbnail()
. 这两个选项都是有效的方法,尽管选项1通常是WordPress开发人员的首选,因为您将获得默认的图像HTML标记,这是每个人都习惯和期望的。