Home Forums ACF PRO Custom gallery image link


Custom gallery image link

  • I would like to add external links to the pictures in the gallery.
    I created my own text field “image_custom_url” and assigned them to atachments. Currently, the template code looks like:

    <div id="content">
    					<div class="row main">
    						<div class="small-12 column custom-page">
    							<div id="block-system-main" class="block block-system">
    								<div class="static-page">
    									<p><?php the_field('partners_description'); ?></p>
    									<p class="larger"><?php the_field('short_title'); ?></p>
    									<div class="row partners-wrapper">
    										$images = get_field('partners_icons');
    										if( $images ): ?>
    									        <?php foreach( $images as $image ): ?>
    								                <div class="large-3 medium-4 small-12 columns">
    									                	<a class="uk-inline" href="<?php echo $image['url']; ?>" caption="Caption 1">
    									                		<img src="<?php echo $image['url']; ?>" alt="">
    									        <?php endforeach; ?>
    										<?php endif; ?>

    How can I add my own link to photos?

  • Each image has an image ID, you use this ID to get the custom fields.


    foreach ($images as $image) {
      $value = get_field('your custom field name', $image['ID']);

    or something like:

    foreach ($images as $image) {
        <a href="<?php the_field('your link field name here', $image['ID']; ?>">something here</a>
  • Thank you works correctly

  • Is there a way to add a link on each gallery image per instance of a gallery, rather than only once per media attachment?

    Eg, ‘About Us’ has a gallery that uses the image ‘Frog’ that links to
    ‘Contact Us’ has a gallery that uses the same ‘Frog’ image, but I want that one to link to

  • Not using the Gallery field. To do something like this you’d need to do something like use a repeater field and add another field for the custom link. The gallery field only holds a list of attachments IDs from the media library, any information you get would be assigned to the attachment.

  • Had the same query and stumbled on this page.
    I found a solution that works perfectly for anyone else that ends up here.

    1. Create a new ACF Field Group e.g. “Media Metadata”
    2. Add a field as a Link or Page Link or URL (I used Page Link)
    3. Then under Location => Rules “show this field group if” = Attachment
    4. This will add a new link field into each media library item

    I used a Page Link and added links to my Media in the Media Library.
    So when calling it in my Gallery loop code:

    foreach( $images as $image ): 
      $link_id = get_post_meta( $image['id'], 'page_link', true); ?>
      <a href="<?php the_permalink( $link_id ); ?>" title="<?php echo $image['alt']; ?>">
        <img data-src="<?php echo $image['sizes'][$size]; ?>"/></a>
  • Hi

    Quick question where do i add the php to? I have got the attactment part working in the image media serttings but its not clicking through to the custom link.



Viewing 7 posts - 1 through 7 (of 7 total)

The topic ‘Custom gallery image link’ is closed to new replies.