WordPress.org

Support

Support » Plugins and Hacks » [Resolved] [Plugin: NextGEN Gallery] Is it possible to specify url links in thumbnails?

[Resolved] [Plugin: NextGEN Gallery] Is it possible to specify url links in thumbnails?

Viewing 15 replies - 1 through 15 (of 44 total)
  • I have a way, but it is a hack, and kinda a self plug as it uses my plugin 🙂

    First thing you need to do is edit the NextGEN settings, to not do a javascript effect onclick. This is under the ‘Gallery->Options->Effects’ menu. Set the option ‘JavaScript Thumbnail effect’ to ‘None’

    Now download and install NextGEN Custom Fields plugin (http://wordpress.org/extend/plugins/nextgen-gallery-custom-fields/). This will enable you to add custom fields to images in NextGEN. Once installed, create a new text input custom image field (I will use the name ‘custom link’ in this example, but you can call it what you want)

    Lastly, in the NextGEN gallery template file, you need to change link for the images. Look at the file ‘gallery.php’ in the ‘/nextgen-gallery/view/’ directory and find where it loops through $images, and echos the link (line 42 on my copy). Change that line from <a href="<?php echo $image->imageURL ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?> > to <a href="<?php echo $image->ngg_custom_fields["custom link"]; ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?> > (notice the name of the custom field, change that to whatever you called yours)
    And that’s it. Custom links for your images.

    Let me know how that works for you.

    @ shauno,

    THANK YOU!

    This worked exactly as described. I’ve added this to my “list of hacks I’ve made” document I read before upgrading any plugins. I’m truly surprised that this feature isn’t built into the NextGEN core, but maybe in the future a feature could be added to include any custom fields created with your plugin.

    Very great stuff shauno, thanks a ton!

    No problem! Glad to help.

    And, you can upgrade NextGEN if you want. NextGEN uses templates to display the images. When you edited ‘gallery.php’, you didn’t hack the plugin at all, you just changed the way it displays the data. You just need to note down that line of code you changed in the gallery.php template, and remember to change it again if you upgrade.

    Hi Shauno,
    I was wondering if there is a way of applying this to smoothgallery?

    I have followed your directions here, but the images are still linking to themselves…

    Any suggestions would be really appreciated!
    Great Plugin by the way!
    Thanks

    Hey brydave

    If you are referring to NextGEN Smooth Gallery, then I have good news! It is possible.
    But, it does require a little more ‘hack’ than before.

    The first problem, is that NextGEN Smooth Gallery doesn’t seem to care about the unique image id, but we need it. So, to solve that you need to change line 102 of nggSmoothSharedFunctions.php from the blank line it is now, to this:
    $aux["pid"] = $picture->pid;

    Now, we can get the custom field created with NextGEN Custom Fields to use as the link like this:
    On line 182 of nggSmoothSharedFunctions.php (if you didn’t create any new lines with the previous edit), you will see the <a> link code. You need to replace that line with this:
    $out .= " <a target=\"_blank\" href=\"" . nggcf_get_field($picture["pid"], "custom link") . "\" title=\"open image\" class=\"open\"></a>";

    Remember to use the name you called your custom field in the place of “custom link”, as in the example I showed awarner20.

    That should be it, let me know how that works out for you 🙂

    [edit: fixed funky markup that broke this post, x2]

    Awesome!
    Thank you very much, it worked perfectly!
    Thats such a useful hack for smoothgallery.

    Thanks again!

    Hey there shauno,

    I just discovered that using your hack above works as expected if I enter [nggallery id=1] in to my page template, but when I add the image caption, [nggallery id=1 template=caption], the thumbnails no longer link to my custom links.

    Do you have any thoughts on this?

    I’m starting to dig around a bit and will post back if I find a solution.

    Fixed:

    The same hack is needed in gallery-caption.php

    🙂

    Thank you so much Shauno, it works flawless!

    I’ve a question: is it possible to choose to apply such an hack only to specific galleries in order to keep lightbox fx for other galleries where ‘custom link’ is not useful?
    Thanks

    Shauno,

    I posted a similar request : “[resolved] [Plugin: NextGEN Gallery] How-to use [ singlepic id=100] as an image for HREF”

    http://wordpress.org/support/topic/303331?replies=4

    Looking at this post you will find the solution suggested by “andreask”
    With this solution we can explicitly specify a link when we need.

    Shauno, which is the tread-off of this approach ? what do u think about ?

    Best regards.

    Hi ivanotls

    Both the solution in this thread, and the solution from andreask do mostly the same thing.

    The benefit of using the solution mentioned here, is that you don’t ‘hack’ the code for NextGEN at all, so you can upgrade the plugin without losing your changes (with the exception of the template, but that’s what they are for)

    Alex (the NextGEN author) was kind enough to put a bunch of hooks in his code for other plugins to add nifty features. So I say, why not use them?

    Sorry mpanda, I missed your post for a couple days 🙂

    And yes, this hack can be done on only certain galleries, but it depends on how you are showing the galleries.

    If you are manually adding the [nggallery id=x] shortcode to display your galleries, then it is easy.

    Do everything I explained in my earlier post, up to the point where you need to edit gallery.php in the /nextgen-gallery/view/ directory. Instead of editing that file, create a copy called gallery-customlinks.php.
    Now instead of editing gallery.php as previously explained, edit gallery-customlinks.php that way.
    Now, for the galleries you want to use the custom links, call the code [nggallery id=x template=gallery-customlinks]

    I hope that makes sense to you. Basicly, NextGEN has template files to display galleries. If you don’t specify what template file to use, the gallery picks the best one based on your settings. But, you can override that by specifying the template attribute in the shortcode.

    [Edit: Fixed a typo]

    Sorry Shauno for my delay as I missed your kindest reply as well.

    I still not test your tip yet but I’m sure it will works as logic code will remain the same.
    I’d have one more question about Nextgen seo optimization but it’s a bit off topic so I’ll address it to a new thread
    Thank you so much

    Hi Shauno, we saw how to apply this hack to galleries and pics.
    I wonder if it’s possible to apply it to a slideshow as well.
    Thanks

    shauno,

    I was this -><- close to make a horrible hack to my Nextgen Smoothgallery till I installed your Nextgen Custom Fields plugin and read your reply brydave. Like brydave I needed to control whether to link to a page or image using the NextGen SmoothGallery plugin. You made my day! Thanks for a very useful addition to NexGen that should be incorporated in its core.

Viewing 15 replies - 1 through 15 (of 44 total)
  • The topic ‘[Resolved] [Plugin: NextGEN Gallery] Is it possible to specify url links in thumbnails?’ is closed to new replies.