image_downsize()
Получает массив данных картинки указанного размера: УРЛ, ширина и высота картинки-вложения.
Эта функция является ядром для wp_get_attachment_image_src(). Только ей нельзя передать третий параметр $icon. Она получает УРЛ и размеры именно вложения, которое является картинкой.
Получает УРЛ оригинальной картинки или её уменьшенной копии. Функция не создает уменьшенную копию картинки, а лишь получает УРЛ готовой уменьшенной картинки наиболее подходящей под указанные размеры. Если указаны произвольные размеры в массиве, подбирает подходящую картинку и пропорциональные ей размеры. См. примеры.
Хуки из функции
Возвращает
Массив|false. Массив с данными о картинке или false если не удалось получить картинку.
Массив возвращается следующего формата:
array( [0] => url // УРЛ картинки [1] => width // ширина картинки [2] => height // высота картинки [3] => true // true, если получен УРЛ уменьшенной копии картинки, а не оригинала )
Использование
image_downsize( $id, $size );
- $id(число) (обязательный)
- ID вложения-картинки, данные которой нужно получить.
- $size(строка)
Размер картинки, данные о которой нужно получить. Отличаться будет ссылка. В этом параметре можно указывать зарегистрированные в WP размеры, по умолчанию это:
thumbnail— миниатюра (обычно 150х150) кадрированная.medium— средний размер, не кадрирован. (По умолчанию).large— большой размер, не кадрирован.full— Оригинал картинки. Если создана «scaled» картинка, то будет получена она.
array( 32, 32 )— также, можно указать размер в массиве в виде двух значений (ширина, высота). В этом случае будет подобран наиболее подходящий размер из имеющихся, затем картинка будет сжата/растянута до указанных размеров.С версии 2.5. этот параметр не влияет на размер медиа иконок (иконок для файлов), они всегда показываются в оригинальном размере.
По умолчанию: 'medium'
Примеры
#1 Функция получения УРЛ картинки среднего размера
Давайте напишем функцию аналогичную которая будет получать средний (medium) размер картинки-вложения, ID которой мы укажем в параметре $id:
function wp_get_attachment_medium_url( $id ){
$medium_array = image_downsize( $id, 'medium' );
$medium_path = $medium_array[0];
return $medium_path;
} #2 Как работает функция
Предположим у нас есть вложение с ID 55 - это картинка: http://wp-kama.ru/wp-content/uploads/2014/02/wix.png с размерами 500х258 пикселей. В настройках медиафайлов у нас стоят размеры для картинок: 80х80, 300х300, 1000х1000. Значит, при загрузке этой картинки, ВП создал 2 уменьшенные копии: 80х80, 300х300.
Теперь смотрите, что будет получать функция при указании разных размеров:
$img = image_downsize( 55, 'full' ); /* Array ( [0] => http://wp-kama.ru/wp-content/uploads/2014/02/wix.png [1] => 500 [2] => 258 [3] => ) */ $img = image_downsize( 55, 'thumbnail' ); /* Array ( [0] => http://wp-kama.ru/wp-content/uploads/2014/02/wix-80x80.png [1] => 80 [2] => 80 [3] => 1 ) */ $img = image_downsize( 55 ); /* Array ( [0] => http://wp-kama.ru/wp-content/uploads/2014/02/wix-300x258.png [1] => 300 [2] => 258 [3] => 1 ) */ $img = image_downsize( 55, array(100, 90) ); /* Array ( [0] => http://wp-kama.ru/wp-content/uploads/2014/02/wix.png [1] => 100 [2] => 51 [3] => ) */ $img = image_downsize( 55, array(100, 80) ); /* Array ( [0] => http://wp-kama.ru/wp-content/uploads/2014/02/wix-80x80.png [1] => 80 [2] => 80 [3] => 1 ) */
Список изменений
| С версии 2.5.0 | Введена. |