get_adjacent_image_link() WordPress Function
The get_adjacent_image_link() function is used to retrieve the URL of the next or previous image attachment relative to the current image attachment.
get_adjacent_image_link( bool $prev = true, string|int[] $size = 'thumbnail', bool $text = false ) #
Gets the next or previous image link that has the same post parent.
Description
Retrieves the current attachment object from the $post global.
Parameters
- $prev
(bool)(Optional) Whether to display the next (false) or previous (true) link.
Default value: true
- $size
(string|int[])(Optional) Image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order).
Default value: 'thumbnail'
- $text
(bool)(Optional) Link text.
Default value: false
Return
(string) Markup for image link.
Source
File: wp-includes/media.php
function get_adjacent_image_link( $prev = true, $size = 'thumbnail', $text = false ) { $post = get_post(); $attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', ) ) ); foreach ( $attachments as $k => $attachment ) { if ( (int) $attachment->ID === (int) $post->ID ) { break; } } $output = ''; $attachment_id = 0; if ( $attachments ) { $k = $prev ? $k - 1 : $k + 1; if ( isset( $attachments[ $k ] ) ) { $attachment_id = $attachments[ $k ]->ID; $attr = array( 'alt' => get_the_title( $attachment_id ) ); $output = wp_get_attachment_link( $attachment_id, $size, true, false, $text, $attr ); } } $adjacent = $prev ? 'previous' : 'next'; /** * Filters the adjacent image link. * * The dynamic portion of the hook name, `$adjacent`, refers to the type of adjacency, * either 'next', or 'previous'. * * Possible hook names include: * * - `next_image_link` * - `previous_image_link` * * @since 3.5.0 * * @param string $output Adjacent image HTML markup. * @param int $attachment_id Attachment ID * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param string $text Link text. */ return apply_filters( "{$adjacent}_image_link", $output, $attachment_id, $size, $text ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.8.0 | Introduced. |