Adding a “More Galleries” Page to the End of an Image.php Gallery

Put this into your functions.php. You have to replace the link path in $gallery_page with the
link to your more galleries page.

<?php
/**
 * Display previous image link that has the same post parent.
 *
 * @since 2.5.0
 * Original version in /wp-include/media.php
 * @param string $size Optional, default is 'thumbnail'. Size of image, either array or string. 0 or 'none' will default to post_title or $text;
 * @param string $text Optional, default is false. If included, link will reflect $text variable.
 * @return string HTML content.
 */
function lwy_previous_image_link($size="thumbnail", $text = false) {
    lwy_adjacent_image_link(true, $size, $text);
}

/**
 * Display next image link that has the same post parent.
 *
 * @since 2.5.0
 * Original version in /wp-include/media.php
 * @param string $size Optional, default is 'thumbnail'. Size of image, either array or string. 0 or 'none' will default to post_title or $text;
 * @param string $text Optional, default is false. If included, link will reflect $text variable.
 * @return string HTML content.
 */
function lwy_next_image_link($size="thumbnail", $text = false) {
    lwy_adjacent_image_link(false, $size, $text);
}

/**
 * Display next or previous image link that has the same post parent.
 *
 * Retrieves the current attachment object from the $post global.
 *
 * @since 2.5.0
 * Original version in /wp-include/media.php
 *
 * @param bool $prev Optional. Default is true to display previous link, false for next.
 */
function lwy_adjacent_image_link($prev = true, $size="thumbnail", $text = false) {
    global $post;
    $post = get_post($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 ( $attachment->ID == $post->ID )
            break;

    $k = $prev ? $k - 1 : $k + 1;

    if ( isset($attachments[$k]) ) {
        $nav_link = wp_get_attachment_link($attachments[$k]->ID, $size, true, false, $text);
    }
    // This if statement has been added
    if (strpos( $nav_link, '<a ') === false ) {
        $text = $text ? esc_attr($text) : ''; 
        $title = __('More galleries', 'lwy_translate');    // text which is displayed instead of Next/Previous 
        $gallery_page="/link_to/more/galleries_page";    // replace with URL to the more galleries page
        printf('<a href="https://wordpress.stackexchange.com/questions/36793/%1$s" title="%2$s">%3$s</a>', $gallery_page, $title, $text);
    }
}
?>

If you use theme Twenty Eleven the previous/next links in template file image.php should look like

<span class="nav-previous"><?php lwy_previous_image_link( false, __( '&larr; Previous' , 'twentyeleven' ) ); ?></span>
<span class="nav-next"><?php lwy_next_image_link( false, __( 'Next &rarr;' , 'twentyeleven' ) ); ?></span>

If you do not use theme Twenty Eleven, replace ‘twentyeleven’ with the chapter name of your theme/subtheme
translation files.
As the text “More galleries” probably does not exist in any theme translation files, you have to create one by
yourself to support it’s translation. If not, the english version will be displayed in all languages.

As this code uses partially code from the WP source it should be reviewed for changes with new versions of WP.

EDITED 23.12.2011
This is an improved version of the last part in function lwy_adjacent_image_link(). Don’t forget to replace the link
to the more galleries page with the actual link.

<?php
    if ( isset($attachments[$k]) ) {
        $nav_link = wp_get_attachment_link($attachments[$k]->ID, $size, true, false, $text);  // save in $nav_link instead of displaying with 'echo'
    }
    // This if statement has been added
    if (empty($nav_link) || $nav_link == __('Missing Attachment')) {
        // If a new version of WP has been released, check this code snippet to behave equivalent to function wp_get_attachment_link() 
        // in post-template.php. Also the string 'Missing Attachment' has to be checked for changes.

        // $text  = $text ? esc_attr($text) : '';                   // this is simply the text which you set when calling lwy_previous_image_link() / lwy_next_image_link()
        $text = __('More Galleries', 'lwy_translate');              // display a fixed text like 'More Galleries'
        $title = __('Go to more galleries page', 'lwy_translate');  // the text which does popup when mouseover the link
        $gallery_page="/link_to/more/galleries_page";             // !!! REPLACE WITH THE URL TO THE MORE GALLERIES PAGE !!!

        $nav_link = sprintf( '<a href="https://wordpress.stackexchange.com/questions/36793/%1$s" title="%2$s">%3$s</a>', $gallery_page, $title, $text);
        $nav_link = apply_filters( 'wp_get_attachment_link', $nav_link, $attachments[$k]->ID, $size, true, false, $text );
    }
    echo $nav_link;
?>