не может выводить серое масштабированное изображение, которое я создал с помощью add_image_size

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

add_action('after_setup_theme','bw_images_size'); function bw_images_size() { $crop = get_option('thumbnail_crop')==1 ? true : false; add_image_size('thumbnail-bw', '', '', $crop); } add_filter('wp_generate_attachment_metadata','bw_images_filter'); function bw_images_filter($meta) { $file = wp_upload_dir(); $file = $file['basedir'] . '/' . $meta['file']; list($orig_w, $orig_h, $orig_type) = @getimagesize($file); $image = wp_load_image($file); imagefilter($image, IMG_FILTER_GRAYSCALE); //imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR); switch ($orig_type) { case IMAGETYPE_GIF: $file = str_replace(".gif", "-bw.gif", $file); imagegif( $image, $file ); break; case IMAGETYPE_PNG: $file = str_replace(".png", "-bw.png", $file); imagepng( $image, $file ); break; case IMAGETYPE_JPEG: $file = str_replace(".jpg", "-bw.jpg", $file); imagejpeg( $image, $file ); break; } return $meta; } 

Моя проблема – когда я пытаюсь вывести изображение в шаблон; Я просто получаю дубликат цветной версии. Я выводю изображения следующим образом:

 if ( has_post_thumbnail() ) { ?> <div class='colour_testimonial'> <?php the_post_thumbnail(); ?> </div> <div class='bw_testimonial'> <?php the_post_thumbnail('thumbnail-bw'); ?> </div> <?php } 

Любые идеи, почему я не могу вывести свое черно-белое изображение?

Заранее спасибо.

Solutions Collecting From Web of "не может выводить серое масштабированное изображение, которое я создал с помощью add_image_size"

Вы должны добавить информацию метаданных с новым миниатюром b & w:

 $meta['sizes']['thumbnail-bw'] = array( 'width' => $meta['width'], 'height' => $meta['height'], 'file' => $file ); 

после генерации нового изображения (после блока switch ).

Существует также плагин под названием Grayscale , который делает именно то, что вам нужно.