Описание
Выводит УРЛ прикрепленного к посту медиафайла.
Если включено ЧПУ (человеко-понятные УРЛы), то эта функция выведет примерно такую ссылку:
http://site.ru/путь_к_посту/название_поста/название_вложения.
Если ЧПУ отключено, то УРЛ будет такой: http://site.ru/?attachment_id=n, где n — ID вложения.
Чтобы изменить результат функции (изменить УРЛ), можно использовать фильтр attachment_link.
Если нужно получить прямую ссылку на вложение (без связи его с постом, к которому оно прикреплено), то используйте функцию wp_get_attachment_url($id). Но имейте ввиду, что wp_get_attachment_url() выводит готовую html ссылку, а не просто УРЛ.
Использование
<?php $attachment_page = get_attachment_link($id); ?>
Параметры
- $id (число)
- ID вложения, УРЛ которого нужно получить.
По умолчанию: id текущего вложения
Примеры
1. Базовый пример.
Так как этот тег получает УРЛ а не выводит ссылку, то для построения ссылки будем использовать echo команду PHP:
<?php $attachment_id = 1; // ID вложения $attachment_page = get_attachment_link( $attachment_id ); ?> <a href="<?php echo $attachment_page; ?>"><?php echo get_the_title($attachment_id) ?></a>
get_attachment_link()
из файла: /wp-includes/link-template.php WP 3.3.2function get_attachment_link($id = false) {
global $post, $wp_rewrite;
$link = false;
if ( ! $id)
$id = (int) $post->ID;
$object = get_post($id);
if ( $wp_rewrite->using_permalinks() && ($object->post_parent > 0) && ($object->post_parent != $id) ) {
$parent = get_post($object->post_parent);
if ( 'page' == $parent->post_type )
$parentlink = _get_page_link( $object->post_parent ); // Ignores page_on_front
else
$parentlink = get_permalink( $object->post_parent );
if ( is_numeric($object->post_name) || false !== strpos(get_option('permalink_structure'), '%category%') )
$name = 'attachment/' . $object->post_name; // <permalink>/<int>/ is paged so we use the explicit attachment marker
else
$name = $object->post_name;
if ( strpos($parentlink, '?') === false )
$link = user_trailingslashit( trailingslashit($parentlink) . $name );
}
if ( ! $link )
$link = home_url( "/?attachment_id=$id" );
return apply_filters('attachment_link', $link, $id);
}Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Многие состоятельные люди хотят приобрести недвижимость в другой стране, в частности, многим интересен Лондон. Купить недвижимость в Лондоне не так сложно, как может показаться на первый взгляд и поможет вам в этом сайт: tranio.ru
Доброго времени суток. Не подскажете, обнаружил у себя как дополнительное вложения страницы, например такого вида: http://site.ru/podcast-049/podcast. У такой ссылки реальный адрес страницы http://site.ru/podcast-049/, а на странице http://site.ru/podcast-049/podcast просто фото поста в реальном размере, не указаны теги поста и название поста меняется с podcast-049 на podcast... От куда это могло появится, как можно исправить?!
Видимо какой-то плагин...