Как сделать автоматическое создание thumb изображений

Ребят, такая проблема. На сайте http://ubuntovod.ru, на главной странице, у каждого поста сбоку отображается картинка, первая в новости. Пропускается она через файл timthumb.php в теме. Ссылка на картинку выглядит примерно так:
http://ubuntovod.ru/wp-content/themes/TemPuteh/timthumb.php?src=http://ubuntovod.ru/wp-content/uploads/2011/07/ask-650×238.jpg&w=200&h=150&zc=1
То есть при каждом заходе на главную первая картинка обрезается до размера 200*150. Естественно это влечёт не маленькую нагрузку на хостинг. Хотелось бы как то решить этот вопрос.
Есть ли такой плагин, который бы один раз генерировал thumb изображение, сохранял его и можно было как то автоматически “вылавливать” ссылку на это изображение, дабы всё автоматически делалось, не приходилось делать дополнительные поля, либо ещё как то заморачиваться?

11 Комментарии

  1. Пока что решил вопрос с нагрузкой отключением этого файла. Но теперь изображение тупо сжимается, что выглядит не слишком красиво. Так что вопрос в силе :)

  2. Возможно вариант не самый удобный но почему бы не использовать следующую схему:
    Параметры – Мидеафайлы: размер миниатюры 200*150
    а в шаблоне где должны отображаться миниатюры вписать код:

    if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { the_post_thumbnail(array(200,150)); }

    Нужное изображение использовать как миниаютру, если нет такой функции в functions.php вашего шаблона впишите:

    add_theme_support('post-thumbnails');   
    if ( function_exists('add_theme_support') ) {
        add_theme_support('post-thumbnails');
    }

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

  3. Что-то я не понимаю в чём проблема.
    post-thumbnails конечно решает, но можно решить проблему кэшированием.
    То есть при создании миниатюры на лету, складывать её на диск и отдавать пользователю.
    Примерно так:
    1. Делаем rewrite для /thumbs/img_name_size.jpg на timthumb.php (/thumbs/[regexp] -> timthumb.php?file=…&size=…)
    2. Проверяем наличие миниатюры с заданным именем на диске
    2.1 Если нашлась – см. пункт 3
    2.2 Если нет – сжимаем, сохраняем (image_jpeg($img, $path, $quality))
    3. Отдаём

    Но лучше прегенерации ничего нет, если у Вас конечно не nginx с модулем image_filter и кэшем

  4. zetrider дает совершенно правильное решение – воспользоваться встроенными возможностями WordPress, предусматривающими работу с миниатюрами. Для изучения этих возможностей будут так же полезны следующие публикации:

    Чтобы миниатюры были видны, использовать код, который привел zetrider (приведен так же тут). Чтобы создать миниатюры для уже существующих в блоге изображений, можно воспользоваться одним из специальных плагинов.

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*