WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

the_attachment_link() WP 2.0.0

Выводит html тег A ссылки на прикрепленный к посту файл (вложение) или страницу этого файла в шаблона.

Ссылка будет показана, если страница содержит:

  • Прикрепленную к посту картинку;

  • Заголовок вложения (текст). Для вложений типа отличного от картинки.
Функция выводит на экран

html код ссылки или сообщение "Missing Attachment", если по каким-то причинам не удалось получить ссылку на вложение, или вложение не подходит по указанным параметрам.

Работает на основе: wp_get_attachment_link()
✈ 1 раз = 0.00291с = очень медленно | 50000 раз = 5.22с = быстро | PHP 7.1.2, WP 4.7.3

Хуков нет.

Использование

<?php the_attachment_link( $id, $fullsize, $deprecated, $permalink); ?>
$id(число)
ID вложения, ссылку на которое нужно получить.
По умолчанию: ID текущего вложения (внутри цикла вложений)
$fullsize(логический)
Параметр для вложений-картинок. Может быть:
false — будет выведена ссылка на миниатюру картинки (созданная WordPress), если миниатюры нет, то будет выведена ссылка на оригинальный размер изображения;
true — выведет ссылку на полноразмерное изображение.
По умолчанию: false
$deprecated(массив)
(параметр запрещен с версии 2.3) Максимальная ширина и высота картинки или иконки, если картинка имеет размер стороны больше чем указанный в этом параметре, то ссылка выведена не будет.
По умолчанию: не используется
$permalink(логический)
Какой использовать УРЛ для ссылки:
true — УРЛ в структуре движка;
false — просто, УРЛ на файл. По умолчанию.
По умолчанию: false

Примеры

#1. Выведем ссылку на прикрепленную картинку полного размера, которая будет ссылаться на сам файл картинки:

<?php the_attachment_link( 4, true ); ?>

Получим:

<a href="/wp-content/uploads/2011/03/yandex.png">
	<img width="73" height="24" src="/wp-content/uploads/2011/03/yandex.png" class="attachment-full size-full" alt="">
</a>

#2. Выведем ссылку на вложение, которая будет вести на страницу вложения, в структуре движка:

<?php the_attachment_link( 4, false, false, true); ?>

Получим:

<a href="/yandex">
	<img width="73" height="24" src="/wp-content/uploads/2011/03/yandex.png" class="attachment-thumbnail size-thumbnail" alt="">
</a>

Код the attachment link: wp-includes/post-template.php WP 5.2.1

<?php
function the_attachment_link( $id = 0, $fullsize = false, $deprecated = false, $permalink = false ) {
	if ( ! empty( $deprecated ) ) {
		_deprecated_argument( __FUNCTION__, '2.5.0' );
	}

	if ( $fullsize ) {
		echo wp_get_attachment_link( $id, 'full', $permalink );
	} else {
		echo wp_get_attachment_link( $id, 'thumbnail', $permalink );
	}
}

Cвязанные функции

Из метки: link ссылка (HTML тег A)

Еще из раздела: Вложения (media файлы)

Еще из тегов шаблона: Миниатюры Вложения

3 коммента
  • @ V

    Подскажите а как удалить эти страницы вложений или вообще их отключить?

    1
    Ответить6.8 лет назад #
    • Kama7482

      Используй такой хук. Он удаляет правила ЧПУ связанные со страницами вложений. После вставки кода, например, в файл functions.php нужно сбросить правила ЧПУ. Для этого нужно просто зайти в Настройки > Постоянные ссылки.

      ## Удаляет ЧПУ связанные со страницами вложений
      add_filter( 'rewrite_rules_array', 'cleanup_default_rewrite_rules' );
      function cleanup_default_rewrite_rules( $rules ) {
      	foreach ( $rules as $regex => $query ) {
      		if ( strpos( $regex, 'attachment' ) || strpos( $query, 'attachment' ) ) {
      			unset( $rules[ $regex ] );
      		}
      	}
      
      	return $rules;
      }
      Ответить9 мес назад #
  • Gudzenko cайт: brgshtory.kiev.ua

    при наведении на картинку товара что бы была ссылка на сам товар,пожалуйста,уже не знаю куда обратиться

    Ответить10 мес назад #
Здравствуйте, !     Войти . Зарегистрироваться