Функция wp_get_attachment_image_url()
позволяет получить URL изображения-вложения по его ID. Она также поддерживает указание размера изображения, который можно получить, и может использоваться для различных задач, таких как вставка изображения с нужными размерами на страницу или вывод изображения с кастомными размерами.
wp_get_attachment_image_url(
int $attachment_id,
string|int[] $size = 'thumbnail',
bool $icon = false
): string|false
Параметры:
$attachment_id
(int, обязательный) — ID изображения-вложения, URL которого нужно получить.$size
(строка|массив, необязательный) — Размер изображения. Может быть именем зарегистрированного размера (например, ‘thumbnail’, ‘medium’, ‘large’) или массивом с указанием ширины и высоты (например,array(400, 200)
). По умолчанию: ‘thumbnail’.$icon
(bool, необязательный) — Если переданоtrue
, функция вернет URL иконки для вложений, которые не являются изображениями (например, архивов.zip
). По умолчанию:false
.
Возвращаемое значение:
- Строка — URL изображения.
false
— Если изображение не найдено.
Пример 1: Получение URL миниатюры изображения
Этот пример показывает, как получить URL миниатюрного изображения для вложения с ID 254:
$image_url = wp_get_attachment_image_url( 254, 'thumbnail' );
if ( $image_url ) {
echo '<img src="' . esc_url( $image_url ) . '" alt="Thumbnail Image">';
}
Результат:
<img src="http://example.com/uploads/image-150x150.jpg" alt="Thumbnail Image">
Пример 2: Получение полного размера изображения
Если вам нужно получить URL оригинального изображения (в полном размере), можно использовать следующий код:
$image_url_full = wp_get_attachment_image_url( 345, 'full' );
if ( $image_url_full ) {
echo '<img src="' . esc_url( $image_url_full ) . '" alt="Full Image">';
}
Результат:
<img src="http://example.com/uploads/image-full.jpg" alt="Full Image">
Пример 3: Получение изображения с кастомными размерами
В следующем примере мы указываем кастомные размеры для изображения (ширина — 600 пикселей, высота — 400 пикселей):
$image_url_custom = wp_get_attachment_image_url( 678, array( 600, 400 ) );
if ( $image_url_custom ) {
echo '<img src="' . esc_url( $image_url_custom ) . '" alt="Custom Size Image">';
}
Результат:
<img src="http://example.com/uploads/custom-image-600x400.jpg" alt="Custom Size Image">
Пример 4: Получение иконки для вложения, если оно не изображение
Функция wp_get_attachment_image_url()
также может возвращать иконку для вложений, которые не являются изображениями (например, архивы). Если параметр $icon
установлен в true
, для не-изображений вернется URL иконки.
$icon_url = wp_get_attachment_image_url( 902, '', true );
if ( $icon_url ) {
echo '<img src="' . esc_url( $icon_url ) . '" alt="File Icon">';
}
Результат:
<img src="http://example.com/uploads/image-large.jpg" alt="Large Image">
Пример 6: Использование кастомных размеров, созданных в теме
В этом примере показано, как можно использовать кастомный размер изображения, зарегистрированный в теме. Допустим, в файле functions.php
вашей темы был добавлен следующий код для создания кастомного размера:
add_image_size( 'custom-size', 800, 600, true );
Теперь можно получить URL изображения с этими параметрами:
$image_url_custom_size = wp_get_attachment_image_url( 512, 'custom-size' );
if ( $image_url_custom_size ) {
echo '<img src="' . esc_url( $image_url_custom_size ) . '" alt="Custom Size Image">';
}
Результат:
<img src="http://example.com/uploads/custom-image-800x600.jpg" alt="Custom Size Image">
Заключение
Функция wp_get_attachment_image_url()
— это удобный инструмент для получения URL изображений-вложений в WordPress. Она поддерживает различные размеры изображений, в том числе кастомные, и может возвращать иконки для файлов, которые не являются изображениями. Это делает ее идеальной для динамического отображения изображений в разных частях сайта.