Создать экземпляр add_image_size

Я ищу метод для создания экземпляра add_image_size();

Чтобы уточнить: я использую загрузчик файлов в плагине, чтобы вставить ссылку на файл по ID. Этот идентификатор затем используется для создания значков касания для сайта <meta> .

Но я хочу уменьшить размер изображения до различных размеров (57x57px, 72x72px и 114x114px) на лету. Однако я не хочу создавать новый размер изображения для каждого изображения вложений, всего лишь один экземпляр.

прямо сейчас wp_get_attachment_image_src($id, array(57, 57)) и wp_get_attachment_image_src($id, array(72, 72)) возвращают тот же url.

Могу ли я add_image_size() в свою функцию, вернуть изображения, а затем отключить функцию?

У кого-нибудь есть мысли?

Solutions Collecting From Web of "Создать экземпляр add_image_size"

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

Когда вы указываете набор измерений вручную, например

 wp_get_attachment_image_src($id, array(57, 57)) 

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

Из вашего вопроса я считаю, что вы хотите, чтобы WordPress генерировал их, когда их сначала запрашивали, но не при загрузке.

Если это так, этот плагин выполнит трюк:

http://wordpress.org/extend/plugins/wp-thumb/

Он заменяет обработку изображений внутри. Поскольку эта установленная обработка изображений должна работать намного ближе к тому, что вы ожидаете, например, вы получите изображение размером 57 пикселей по 57 пикселей, а не ближайший размер

Посмотри на это

http://www.studiograsshopper.ch/code-snippets/remove-wordpress-defaultmedia-image-sizes/

 function sgr_filter_image_sizes( $sizes) { unset( $sizes['thumbnail']); unset( $sizes['medium']); unset( $sizes['large']); return $sizes; } add_filter('intermediate_image_sizes_advanced', 'sgr_filter_image_sizes'); 

Вам нужно захватить его с помощью глобального $ ID.