Миниатюры разных размеров

Я использую следующий код, чтобы вытащить выбранное изображение из категории сообщений. Я повторил этот код еще 3 раза в моем шаблоне, чтобы добавить разные категории. Я хотел бы, чтобы все изображения были одинакового размера, но все разные размеры.

Я попытался создать новый размер миниатюр изображения (предварительный просмотр) в functions.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> 

Я мог бы обойти это, установив фиксированную или минимальную ширину, но хочу избежать этого, если это возможно. Не понимаю, почему изображения разных размеров. Я попытался восстановить все миниатюры с помощью плагина, но это не помогло.

Solutions Collecting From Web of "Миниатюры разных размеров"

Вы слишком усложняете свой миниатюрный код; все, что вам нужно, это:

 if ( has_post_thumbnail () ) { the_post_thumnail( 'preview-thumb' ); } else { .... 

Проблема с вашей версией заключается в том, что get_post_thumbnail_id() не принимает параметр размера, так что информация отбрасывается. К счастью, the_post_thumbnail() делает все, что вам нужно, не имея необходимости извлекать url и строить строку html вручную.