Функция wp_get_attachment_image_src()
используется для получения данных о картинке-вложении, таких как URL изображения, его ширина и высота, а также информация о том, является ли изображение промежуточным размером.
wp_get_attachment_image_src( int $attachment_id, string|int[] $size = 'thumbnail', bool $icon = false ): array|false
Параметры
$attachment_id
(int) (обязательный) — ID вложенной картинки, данные которой нужно получить.$size
(string|int[]) (необязательный) — Размер изображения. Можно указать предустановленный размер WordPress (thumbnail
,medium
,large
,full
), либо массив с шириной и высотой в пикселях. По умолчанию —thumbnail
.$icon
(bool) (необязательный) — Определяет, должен ли быть возвращен значок mime-типа для файла, если это не изображение. По умолчанию —false
.
Возвращаемое значение
Функция возвращает массив с информацией об изображении или false
, если изображение не найдено. Массив содержит:
- URL изображения.
- Ширина изображения в пикселях.
- Высота изображения в пикселях.
- is_intermediate — логическое значение, указывающее, является ли изображение промежуточным размером.
Пример 1: Получение данных изображения по умолчанию
Этот пример показывает, как получить URL изображения и его размеры для вложения с ID 25.
$attachment_id = 25;
$image_attributes = wp_get_attachment_image_src( $attachment_id );
if ( $image_attributes ) {
echo '<img src="' . $image_attributes[0] . '" width="' . $image_attributes[1] . '" height="' . $image_attributes[2] . '">';
}
Результат:
<img src="http://example.com/wp-content/uploads/2023/08/image-150x150.jpg" width="150" height="150">
Пример 2: Получение изображения с указанным размером
Здесь мы получим изображение вложения с ID 42 в полном размере.
$attachment_id = 42;
$image_attributes = wp_get_attachment_image_src( $attachment_id, 'full' );
if ( $image_attributes ) {
echo '<img src="' . $image_attributes[0] . '" width="' . $image_attributes[1] . '" height="' . $image_attributes[2] . '">';
}
Результат:
<img src="http://example.com/wp-content/uploads/2023/05/image.png" width="1200" height="800">
Пример 3: Получение кастомного размера изображения
Этот пример показывает, как получить изображение размером 300×300 пикселей.
$attachment_id = 52;
$image_attributes = wp_get_attachment_image_src( $attachment_id, array(300, 300) );
if ( $image_attributes ) {
echo '<img src="' . $image_attributes[0] . '" width="' . $image_attributes[1] . '" height="' . $image_attributes[2] . '">';
}
Результат:
<img src="http://example.com/wp-content/uploads/2023/06/image-300x300.jpg" width="300" height="300">
Пример 4: Получение иконки для файла
Этот пример демонстрирует использование функции для получения иконки для вложения, которое не является изображением (например, PDF или ZIP).
$attachment_id = 60;
$image_attributes = wp_get_attachment_image_src( $attachment_id, 'thumbnail', true );
if ( $image_attributes ) {
echo '<img src="' . $image_attributes[0] . '" width="' . $image_attributes[1] . '" height="' . $image_attributes[2] . '">';
}
Результат:
<img src="http://example.com/wp-includes/images/crystal/audio.jpg" width="150" height="150">
Использование иконок для файлов
По умолчанию WordPress использует стандартные иконки для различных типов файлов (например, для аудио файлов будет использоваться audio.jpg
). Эти иконки хранятся в директории wp-includes/images/crystal/
. Если вы хотите использовать свои собственные иконки, вы можете изменить путь к ним, добавив следующие фильтры в файл functions.php
вашей темы:
add_filter( 'icon_dir', 'my_custom_icon_directory' );
add_filter( 'icon_dir_uri', 'my_custom_icon_uri' );
function my_custom_icon_directory( $icon_dir ) {
return get_stylesheet_directory() . '/images/icons';
}
function my_custom_icon_uri( $icon_dir ) {
return get_stylesheet_directory_uri() . '/images/icons';
}
Заключение
Функция wp_get_attachment_image_src()
является важным инструментом для работы с изображениями в WordPress. Она позволяет легко получать данные о картинках и других типах файлов, управлять их размерами и использовать их для построения отзывчивых сайтов.