Вопрос

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

Миниатюры публикации должны быть размером 200x100 пикселей и взяты с одного из изображений, используемых в публикации.Итак, в моем идеальном мире, когда вы нажимаете на ссылку "Установить рекомендуемое изображение", вы получаете обзор уже включенных изображений, а когда вы нажимаете на одно из них, вы можете сами определить область обрезки (переместив или изменив ее размер, но сохранив соотношение сторон 2x1).Когда вы нажимаете "ОК", миниатюра новой записи сохраняется вместе с исходным вложением (в _wp_attachment_metadata['sizes']['post-thumbnail'] поле метаданных, например), а не как новое вложение.Использование изображения, которое уже используется в качестве миниатюры поста для другого поста, не должно быть разрешено или, по крайней мере, выдавать предупреждение.

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

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

Обновить:Пример пользовательского интерфейса

Мне очень нравится интерфейс программы выбора изображений адресной книги Mac OS X:вы выбираете изображение и изменяете размер миниатюры в фиксированном соотношении с помощью средства обрезки с помощью ползунка.Вы также можете перетаскивать базовое изображение по кругу.Вы можете расширить эту идею до нескольких размеров изображений (у меня есть post-thumbnail и post-thumbnail-1/2 это вдвое меньше, например).Пусть пользователь выберет размеры, которые он сейчас редактирует, с помощью флажков и нарисует соответствующие прямоугольники обрезки на экране.

The Address Book image cropper in action

Это было полезно?

Решение

Код все еще в беспорядке, но, кажется, работает, даже на IE 8. Я планирую выпустить его в репозитории, но в то же время вы можете играть с моя текущая версия. Анкет Чтобы получить доступ к нему, вы нажимаете на «редактирование изображения» при добавлении или редактировании изображения, оно заменяет обычный редактор изображений (их очень трудно объединить). Поскольку большая часть области администратора использует обычную миниатюру, и моя текущая версия редактирует миниатюру после, может показаться, что код не имеет никакого эффекта, но попробуйте ее, показывая миниатюру Post, и вы должны увидеть его изменение.

Этот плагин требует моего Попрос изреагировать на изображение, который также все еще в беспорядке, чтобы сделать фактический изменение размера.

Example image in the cropper

Другие советы

Лучше всего использовать культуру изображения на основе JavaScript, а затем PHP в сочетании с ImageMagick или Image GD.

Это должно быть записано в ваши функции или в качестве плагина, так как я не знаю, не зная ни одного из плагин с Shelf WordPress, что удивительно.

Есть урожай изображения YUI с опцией сохранения PHP на основе PHP http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html

Вот другой учебник о том, как использовать jQuery Cropper с PHP
http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/

Третий вариант очень похож на приведенную выше ссылку с использованием одного и того же jQuery Cropper, но другой код.http://www.leonkessler.com/blog/?p=132

Вот еще один, использующий JQUERY JCROP, вместо этого, http://www.talkincode.com/jcrop-extension-implementation-in-php-932.html

Кто готовится к новому плагинту, это наверняка будет популярно :)

Предполагая, что вы уже добавили поддержку пост-миниатюр, поскольку вы говорите о опции "Избранное изображение".

Если это так, то один из вариантов, который у вас есть, - добавить новый размер изображения в массив загрузки.Итак, по умолчанию у вас есть миниатюра, средняя, большая.В следующем фрагменте кода это добавляет 4-е изображение к этому ассортименту, основываясь на любом желаемом размере.Этот фрагмент кода будет добавлен в ваш файл functions.php.

add_image_size( 'new_thumb', 200, 100, true );

"new-thumb" = имя нового пользовательского изображения.
"200" = ширина
"100" = высота
"true" = параметр жесткой обрезки.Это заставит обрезать изображение до определенной ширины / высоты.Без этого все просто масштабируется до определенной пропорции.

Теперь, чтобы отобразить новый эскиз на странице или в массиве записей, вы должны вставить в свой HTML следующее

<?php the_post_thumbnail('new_thumb'); ?>

Возможно, вы захотите использовать CSS, чтобы иметь большую гибкость, исправить эскиз в своей теме (если вы хотите) и избежать беспорядка:

http://www.seifi.org/css/creating-thumbnails-using-the-css-clip-property.html

Помните, что все изображение будет загружено, поэтому не используйте свои 3MB -оригиналы для этого.

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

  • Для пользователя = администратора, создайте CSS через PHP; Вы можете просто ссылаться на PHP, который считывает соответствующие настройки и соответствующим образом настроить параметры отсечения.
  • Для пользователя = посетитель используйте JavaScript, чтобы изменить параметры обрезки в атрибуте стиля изображения.
  • Как менее инвазивное решение, рассмотрите возможность создания короткометражного кода (через exec exec php отличного плагина), например [Thumb w = ?? H =?

Есть более старый плагин под названием WP Post Thumbnail, который мы иногда используем.Он не идеален, и в последней версии WP есть несколько незначительных ошибок (она не обновлялась с 2008 года, поэтому не обязательно надежна). http://wordpress.org/extend/plugins/wp-post-thumbnail/

Я считаю, что вы ищете это: http://wordpress.org/support/topic/scissors-for-wordpress-29-all-works-on-30-hurray

Я не пробовал это, но это должно предложить вам функциональность, которую вы ищете.

Оригинальная страница плагина здесь. http://wordpress.org/extend/plugins/scissors/

Мне это нужно для проекта, над которым я работаю.

Я думаю, что окончательным решением этой проблемы было бы изменить плагин изhttp://www.seoadsensethemes.com/wordpress-wp-post-thumbnail-plugin/

и настроить его так, чтобы любые пользовательские размеры изображений, определенные в вашем файле functions.php (используя add_image_size( 'new_thumb', 200, 100, true ); ) автоматически используется, а затем получите код, чтобы заменить (или расширить) ссылку «редактировать», когда вы хотите изменить изображение.

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

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

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

http://wpworks.wordpress.com/2010/12/27/image-gallery-with-image-crop/

С уважением

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top