Функция возвращает нумерованный массив, содержащий атрибуты вложения: 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 использует следующую иконку: - параметр $size буде проигнорирован в любом из вышеперечисленных случаев.
- а также параметр $icon не указан (или равен
Пример
$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'; }