Definition:
function get_attachment_link($id = false) {}
Retrieve permalink for attachment.
This can be used in the WordPress Loop or outside of it.
Parameters
- int $id: Optional. Post ID.
Defined filters
- attachment_link
apply_filters('attachment_link', $link, $id)
Source code
function 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); }
1160
No comments yet... Be the first to leave a reply!