Функция wp_get_attachment_link()
в WordPress позволяет получить ссылку на страницу вложения или медиафайл, используя изображение или иконку, если это возможно. Эта функция возвращает HTML-код ссылки (<a>
тег), которая ведет на файл вложения или на его страницу в WordPress.
wp_get_attachment_link( int|WP_Post $post, string|int[] $size = ‘thumbnail’, bool $permalink = false, bool $icon = false, string|false $text = false, array|string $attr = ” ): string
Описание параметров
- $post (int|WP_Post): ID вложения или объект поста. Если параметр не указан, по умолчанию используется текущее вложение.
- $size (string|array): Размер изображения, которое будет отображено в качестве ссылки. Можно использовать зарегистрированные размеры, такие как
thumbnail
,medium
,large
или указать массив с шириной и высотой. По умолчанию:'thumbnail'
. - $permalink (bool): Если
true
, ссылка будет вести на страницу вложения. Еслиfalse
— на сам медиафайл. По умолчанию:false
. - $icon (bool): Указывает, использовать ли иконку для отображения вложения. По умолчанию:
false
. - $text (string|false): Текст ссылки. Если не указан, используется заголовок вложения. По умолчанию:
false
. - $attr (array|string): Дополнительные атрибуты для тега
<a>
. По умолчанию: пустая строка.
Возвращаемое значение
- Строка: HTML-код ссылки на вложение или страницу вложения.
Missing Attachment
: Если вложение не найдено, функция вернет сообщение об ошибке.
Пример 1: Получение ссылки на страницу вложения с изображением
Этот пример показывает, как получить ссылку на страницу вложения, где изображение представлено в размере миниатюры (thumbnail
).
<?php
// ID вложения.
$attachment_id = 42;
// Получаем ссылку на страницу вложения с миниатюрой.
echo wp_get_attachment_link( $attachment_id, 'thumbnail', true );
?>
Вывод будет HTML-кодом, который ведет на страницу вложения и отображает изображение миниатюры:
<a href="http://example.com/attachment-page/">
<img src="http://example.com/wp-content/uploads/2024/10/image-thumbnail.jpg" alt="" />
</a>
Пример 2: Ссылка на медиафайл среднего размера
Следующий пример генерирует ссылку на медиафайл (не на страницу вложения), используя изображение среднего размера (medium
).
<?php
// ID вложения.
$attachment_id = 85;
// Получаем ссылку на медиафайл с изображением среднего размера.
echo wp_get_attachment_link( $attachment_id, 'medium', false );
?>
Вывод будет следующим:
<a href="http://example.com/wp-content/uploads/2024/10/image-medium.jpg">
<img src="http://example.com/wp-content/uploads/2024/10/image-medium.jpg" alt="" />
</a>
Пример 3: Использование текста ссылки вместо изображения
Этот пример показывает, как создать ссылку на файл вложения, используя текст вместо изображения.
<?php
// ID вложения.
$attachment_id = 123;
// Выводим ссылку с текстом вместо изображения.
echo wp_get_attachment_link( $attachment_id, '', false, false, 'Скачать файл' );
?>
Вывод HTML будет таким:
<a href="http://example.com/wp-content/uploads/2024/10/document.pdf">Скачать файл</a>
Пример 4: Ссылка с заголовком вложения
Если не указывать текст ссылки, по умолчанию используется заголовок вложения. Этот пример демонстрирует, как получить ссылку с заголовком поста:
<?php
// ID вложения.
$attachment_id = 58;
// Выводим ссылку с заголовком вложения.
echo wp_get_attachment_link( $attachment_id );
?>
Результат будет следующим:
<a href="http://example.com/wp-content/uploads/2024/10/file.pdf">Название вложения</a>
Пример 5: Использование пользовательских атрибутов для ссылки
В этом примере демонстрируется, как добавить пользовательские атрибуты к ссылке, такие как class
и target
.
<?php
// ID вложения.
$attachment_id = 91;
// Добавляем атрибуты к ссылке.
$custom_attributes = array(
'class' => 'custom-class',
'target' => '_blank'
);
// Выводим ссылку с пользовательскими атрибутами.
echo wp_get_attachment_link( $attachment_id, 'thumbnail', false, false, false, $custom_attributes );
?>
Результат будет следующим:
<a href="http://example.com/wp-content/uploads/2024/10/image-thumbnail.jpg" class="custom-class" target="_blank">
<img src="http://example.com/wp-content/uploads/2024/10/image-thumbnail.jpg" alt="" />
</a>
Заключение
Функция wp_get_attachment_link()
предоставляет гибкий способ создания ссылок на файлы вложений или страницы вложений в WordPress. Вы можете использовать изображение в разных размерах, текст или иконку для отображения ссылки, а также добавлять пользовательские атрибуты. Эта функция полезна при создании галерей, страниц со скачиванием файлов и других элементов, где требуется связать контент с вложениями.