Title: WP gallery shortcode images link setting
Last modified: August 20, 2016

---

# WP gallery shortcode images link setting

 *  [jose](https://wordpress.org/support/users/camelotweb/)
 * (@camelotweb)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/)
 * Hi I am trying to add a new gallery to one of my sites and no matter what do 
   I chose as linking to options (attachment file page or file) the output remains
   the same and it links only to the attachment pages. Is this a bug?

Viewing 10 replies - 1 through 10 (of 10 total)

 *  [WPyogi](https://wordpress.org/support/users/wpyogi/)
 * (@wpyogi)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433607)
 * It may be this:
 * [http://core.trac.wordpress.org/ticket/23298](http://core.trac.wordpress.org/ticket/23298)
 *  Thread Starter [jose](https://wordpress.org/support/users/camelotweb/)
 * (@camelotweb)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433687)
 * Excuse me I should have posted like this:
 *     ```
       remove_shortcode('gallery', 'gallery_shortcode');
       add_shortcode('gallery', 'gallery_shortcode_fancybox');
   
       function gallery_shortcode_fancybox($attr) {
       	$post = get_post();
   
       	static $instance = 0;
       	$instance++;
   
       	if ( ! empty( $attr['ids'] ) ) {
       		// 'ids' is explicitly ordered, unless you specify otherwise.
       		if ( empty( $attr['orderby'] ) )
       			$attr['orderby'] = 'post__in';
       		$attr['include'] = $attr['ids'];
       	}
   
       	// Allow plugins/themes to override the default gallery template.
       	$output = apply_filters('post_gallery', '', $attr);
       	if ( $output != '' )
       		return $output;
   
       	// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
       	if ( isset( $attr['orderby'] ) ) {
       		$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
       		if ( !$attr['orderby'] )
       			unset( $attr['orderby'] );
       	}
   
       	extract(shortcode_atts(array(
       		'order'      => 'ASC',
       		'orderby'    => 'menu_order ID',
       		'id'         => $post->ID,
       		'itemtag'    => 'dl',
       		'icontag'    => 'dt',
       		'captiontag' => 'dd',
       		'columns'    => 3,
       		'size'       => 'thumbnail',
       		'include'    => '',
       		'exclude'    => ''
       	), $attr));
   
       	$id = intval($id);
       	if ( 'RAND' == $order )
       		$orderby = 'none';
   
       	if ( !empty($include) ) {
       		$_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
   
       		$attachments = array();
       		foreach ( $_attachments as $key => $val ) {
       			$attachments[$val->ID] = $_attachments[$key];
       		}
       	} elseif ( !empty($exclude) ) {
       		$attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
       	} else {
       		$attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
       	}
   
       	if ( empty($attachments) )
       		return '';
   
       	if ( is_feed() ) {
       		$output = "\n";
       		foreach ( $attachments as $att_id => $attachment )
       			$output .= wp_get_attachment_link($att_id, $size, true) . "\n";
       		return $output;
       	}
   
       	$itemtag = tag_escape($itemtag);
       	$captiontag = tag_escape($captiontag);
       	$icontag = tag_escape($icontag);
       	$valid_tags = wp_kses_allowed_html( 'post' );
       	if ( ! isset( $valid_tags[ $itemtag ] ) )
       		$itemtag = 'dl';
       	if ( ! isset( $valid_tags[ $captiontag ] ) )
       		$captiontag = 'dd';
       	if ( ! isset( $valid_tags[ $icontag ] ) )
       		$icontag = 'dt';
   
       	$columns = intval($columns);
       	$itemwidth = $columns > 0 ? floor(100/$columns) : 100;
       	$float = is_rtl() ? 'right' : 'left';
   
       	$selector = "gallery-{$instance}";
   
       	$gallery_style = $gallery_div = '';
       	if ( apply_filters( 'use_default_gallery_style', true ) )
       		$gallery_style = "
       		<style type='text/css'>
       			#{$selector} {
       				margin: auto;
       			}
       			#{$selector} .gallery-item {
       				float: {$float};
       				margin-top: 10px;
       				text-align: center;
       				width: {$itemwidth}%;
       			}
       			#{$selector} img {
       				border: 2px solid #cfcfcf;
       			}
       			#{$selector} .gallery-caption {
       				margin-left: 0;
       			}
       		</style>
       		<!-- see gallery_shortcode() in wp-includes/media.php -->";
       	$size_class = sanitize_html_class( $size );
       	$gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";
       	$output = apply_filters( 'gallery_style', $gallery_style . "\n\t\t" . $gallery_div );
   
       	$i = 0;
       	foreach ( $attachments as $id => $attachment ) {
       		$link = wp_get_attachment_link($id, $size, false, false);
   
       		if ( $columns > 0 && ($i+1) % $columns == 0 ){
       		$output .= "<{$itemtag} class='gallery-item last'>";
       		}
       		else {
       		$output .= "<{$itemtag} class='gallery-item'>";
       		}
       		$output .= "
       			<{$icontag} class='gallery-icon'>
       				$link
       			</{$icontag}>";
       		if ( $captiontag && trim($attachment->post_excerpt) ) {
       			$output .= "
       				<{$captiontag} class='wp-caption-text gallery-caption'>
       				" . wptexturize($attachment->post_excerpt) . "
       				</{$captiontag}>";
       		}
       		$output .= "</{$itemtag}>";
       		if ( $columns > 0 && ++$i % $columns == 0 )
       			$output .= '<br style="clear: both" />';
       	}
   
       	$output .= "
       			<br style='clear: both;' />
       		</div>\n";
   
       	return $output;
       }
       ```
   
 *  [esmi](https://wordpress.org/support/users/esmi/)
 * (@esmi)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433696)
 * Have you tried toggling the dropdown from “Media File” to “Attachment Page” and
   back?
 *  Thread Starter [jose](https://wordpress.org/support/users/camelotweb/)
 * (@camelotweb)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433704)
 * Yes, no matter what I chose the result is the same, linking to attachment images
   pages. I’ve tried it even changing my theme to twenty twelve and it still happens,
   that’s what I think it’s a bug of WP 3.5.1
 *  [esmi](https://wordpress.org/support/users/esmi/)
 * (@esmi)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433723)
 * There is a known bug in WordPress 3.5.1 in which all gallery images are being
   linked to their attachment page rather than the raw image file. This bug should
   be fixed in the next WordPress update but, for now, you have two options that
   might work:
 * 1. If you have been using the Text editor to edit your Posts & Pages then locate
   the [gallery] shortcode and amend it to [gallery link="file"]
 * 2. Try editing the relevant Posts/Pages and creating the galleries again but,
   this time, toggle the “Link To” dropdown from Media File to Attachment page” 
   and back again.
 *  [P T](https://wordpress.org/support/users/pthomson87/)
 * (@pthomson87)
 * [13 years, 4 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433813)
 * Was going crazy trying to figure out what was going on! Thanks esmi and WPyogi
   for the update on trac #23298.
 *  [vladis1980](https://wordpress.org/support/users/vladis1980/)
 * (@vladis1980)
 * [13 years, 3 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433832)
 * this damn bug is driving me crazy! Any news on when it will be fixed? I don’t
   intend to edit more than 1000 posts because of this….
 *  Moderator [Ipstenu (Mika Epstein)](https://wordpress.org/support/users/ipstenu/)
 * (@ipstenu)
 * 🏳️‍🌈 Advisor and Activist
 * [13 years, 3 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433848)
 * In 3.6 probably
 *  [markaronkanning](https://wordpress.org/support/users/markkanning/)
 * (@markkanning)
 * [13 years, 3 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433857)
 * If you want to force the link to be directly to the image itself, go to around
   line 762-ish where this code appears…
 * `$link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link(
   $id, $size, false, false) : wp_get_attachment_link($id, $size, true, false);`
 * Change it to just this…
 * `$link = wp_get_attachment_link($id, $size, false, false);`
 * You should get direct links to the big image after that.
 *  [Lyndon Roeller](https://wordpress.org/support/users/lyndonr/)
 * (@lyndonr)
 * [13 years, 2 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433884)
 * [@markkanning](https://wordpress.org/support/users/markkanning/), which file 
   does that code appear in???
 * having to add link=”file” to every gallery before it shows up is getting old 
   quick.
 * I’d rather hack the core, then fingers crossed, after the next WP update it will
   be fixed.
 * thank you!

Viewing 10 replies - 1 through 10 (of 10 total)

The topic ‘WP gallery shortcode images link setting’ is closed to new replies.

## Tags

 * [gallery](https://wordpress.org/support/topic-tag/gallery/)
 * [shortcode](https://wordpress.org/support/topic-tag/shortcode/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 10 replies
 * 8 participants
 * Last reply from: [Lyndon Roeller](https://wordpress.org/support/users/lyndonr/)
 * Last activity: [13 years, 2 months ago](https://wordpress.org/support/topic/wp-gallery-shortcode-images-link-setting/#post-3433884)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
