wp_get_attachment_image_src() — позволяет получить URL, ширину и высоту изображения

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция возвращает нумерованный массив, содержащий атрибуты вложения: URL изображения (или URL иконки вложения), значения ширины и высоты.

wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false)
$attachment_id
(целое число) ID вложения,
$size
(массив, строка) укажите, с каким из размеров данного изображения мы будем работать,
$icon
(логическое) нужно в тех случаях, когда ваше вложение не является изображением. Вообще, существует несколько возможных случаев с участием данного параметра. Итак, если вложение с указанным ID не является изображением:

  • а также параметр $icon не указан (или равен false), то функция wp_get_attachment_image_src() возвращает false
  • и параметр $icon равен true, то функция возвращает иконку, представляющую данный тип файла (а точнее массив, содержащий URL иконки, ее высоту и ширину), например для zip-архивов WordPress использует следующую иконку:
    Иконка для представления архивов в WordPress
  • параметр $size буде проигнорирован в любом из вышеперечисленных случаев.

Пример

$attachment_id = 5; // допустим у нас есть ID вложения, которое нужно вставить в подготовленный для него <img> тег
$attributes = wp_get_attachment_image_src( $attachment_id ); // возвращает массив
echo '<img src="' . $attributes[0] . '" width="' . $attributes[1] . '" height="' . $attributes[2] . '">';

Фильтр icon_dir

Позволяет изменить директорию, в которой WordPress будет искать иконки для типов файлов.

$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );

Второй параметр — это и есть пусть к папке с иконками. Путь по умолчанию: /wp-includes/images/crystal. Если вы укажете несуществующую директорию или в вашей директории не будет соответствующих иконок — ожидайте ошибок WP.

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

add_filter( 'icon_dir', 'true_redefine_icon_dir' );
 
function true_redefine_icon_dir( $icon_dir ) {
	return get_stylesheet_directory() . '/icons';
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии