我正在使用以下代码从帖子类别中提取特色图片。我在模板中又重复了3次这段代码,以添加不同的类别。我想所有的图像都是相同的大小,但都是不同的大小。
我尝试在函数中创建新的自定义图像缩略图大小(预览缩略图)。php
add_theme_support( \'post-thumbnails\' ); // this enable thumbnails
add_image_size( \'preview-thumb\', 300, 185, true ); //this sets your default size
然后我使用以下代码获取缩略图:
<!-- WILDLIFE SECTION -->
<?php $custom_query = new WP_Query(array (\'cat\' => 34, \'showposts\' => 1));
query_posts($custom_query);
while($custom_query->have_posts()) : $custom_query->the_post();?>
<div class="span3">
<div class="myimage">
<a href="<?php the_permalink() ?>" rel="bookmark">
<!-- Check for post thumbnail & display it. Note - this will be the featured image of your post -->
<?php
if ( has_post_thumbnail())
{
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), \'preview-thumb\' );
echo \'<img src="\' . $thumb[0] . \'">\';
} else {
echo \'No post thumbnail.\';
}
?>
</a>
</div>
我可以通过设置固定宽度或最小宽度来解决这个问题,但如果可能的话,我希望避免这种情况。不明白为什么图像大小都不一样。我尝试用插件重新生成所有缩略图,但没有帮助。
最合适的回答,由SO网友:sabreuse 整理而成
您的缩略图代码过于复杂;您所需要的就是:
if ( has_post_thumbnail () ) {
the_post_thumnail( \'preview-thumb\' );
} else { ....
你的版本的问题是
get_post_thumbnail_id()
不接受大小参数,因此信息会被丢弃。幸运的是
the_post_thumbnail()
无需手动获取url和构建html字符串即可完成所需的所有操作。