get_attachment_link()
Retrieves the permalink for an attachment.
This can be used in the WordPress Loop or outside of it.
Used By: wp_get_attachment_link(), get_permalink()
Hooks from the function
Return
String
. The attachment permalink.
Usage
get_attachment_link( $post, $leavename );
- $post(int|WP_Post)
- Post ID or object.
Default: uses the global $post - $leavename(true|false)
- Whether to keep the page name.
Default: false
Examples
#1 Get the URL of the attachment page
// file is not attached to the post echo get_attachment_link( 104 ); //> http://example.com/screenshot_4-3 // file attached to the post echo get_attachment_link( 105 ); //> http://example.com/conditional-fields/vkladka-s-nastrojkoj
#2 Display the link to the attachment
Since the function takes the URL and not the output, we will use the PHP echo command to show the link:
<?php $attachment_id = 1; // attachment ID $attachment_link = get_attachment_link( $attachment_id ); ?> <a href="<?php echo $attachment_page; ?>"><?php echo get_the_title($attachment_id) ?></a>
#3 Display attached images and titles as a list
To display the images attached to a certain page and display them as a list of bullets you can use the following:
<ul> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ); $attachments = get_posts( $args ); if ( $attachments ) { foreach ( $attachments as $attachment ) { ?> <li> <?php the_attachment_link( $attachment->ID, true ) ?> <p><?= apply_filters( 'the_title', $attachment->post_title ) ?></p> </li> <?php } } endwhile; endif; ?> </ul>
Notes
- Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
Changelog
Since 2.0.0 | Introduced. |