You may notice on some of our posts a gallery of images. We are using the built in WordPress up-loader, and when there are a few images we use the gallery insert button. But we are fans of jQuery and are using Thickbox.
As you know the basic gallery insert with attach the gallery images and link them to an image attachment page. Instead we installed the Gallery Plus plugin by Justin Hawkwood.
This plugin alone will add the ability under the Settings — options to add a “title” attribute in the <a>
link and a rel
attribute of “lightbox”.
Now I do have some site’s with lightbox installed, and I am a fan of the script, but I didn’t want to use the Scriptaculous script. And I do know that there is a Lightbox script based on jQuery.
Anyway… since I am using the Thickbox script on this site, the plugin needed a little tweaking:
There are two files contained in the download: gallery-plus.php & options.php
, both with need to be edited. Lets start with the options.php
:
Find.
update_option('gallery_plus_overlay', $_POST['gallery_plus_overlay']);
Add the 2nd line below, like this.
update_option('gallery_plus_overlay', $_POST['gallery_plus_overlay']);
update_option('gallery_plus_overlay2', $_POST['gallery_plus_overlay2']);
Next Find.
$gallery_plus_overlay = stripslashes(get_option('gallery_plus_overlay'));
Add the 2nd line below, like this.
$gallery_plus_overlay = stripslashes(get_option('gallery_plus_overlay'));
$gallery_plus_overlay2 = stripslashes(get_option('gallery_plus_overlay2'));
This is where it gets tricky. Find these next lines.
<tr valign="baseline">
<th scope="row"><?php _e('"rel" value in <a> tag:') ?></th>
<td><select name="gallery_plus_overlay">
<option value="none"<?php if ($gallery_plus_overlay == 'none') echo ' selected="selected"'; ?>>none</option>
<option value="lightbox"<?php if ($gallery_plus_overlay == 'lightbox') echo ' selected="selected"'; ?>>lightbox</option>
</select> Specify which, if any, javscript image overlay package to use. THIS PLUGIN DOES NOT INSTALL ANY OVERLAY PACKAGES.<br /><em>Note: Only applies when <strong>Link type</strong> is set to "image".</em>
</td></tr>
And Add these lines above.
<tr valign="baseline">
<th scope="row"><?php _e('Insert "class=..." Attribute In Link:') ?></th>
<td><select name="gallery_plus_overlay2">
<option value="none"<?php if ($gallery_plus_overlay2 == 'none') echo ' selected="selected"'; ?>>NONE</option>
<option value="thickbox"<?php if ($gallery_plus_overlay2 == 'thickbox') echo ' selected="selected"'; ?>>thickbox</option>
</select> <em>Note: Only applies when <strong>Link Images To Full Resolution</strong> is on.</em>
</td></tr>
It should look like this:
<tr valign="baseline">
<th scope="row"><?php _e('Insert "class=..." Attribute In Link:') ?></th>
<td><select name="gallery_plus_overlay2">
<option value="none"<?php if ($gallery_plus_overlay2 == 'none') echo ' selected="selected"'; ?>>NONE</option>
<option value="thickbox"<?php if ($gallery_plus_overlay2 == 'thickbox') echo ' selected="selected"'; ?>>thickbox</option>
</select> <em>Note: Only applies when <strong>Link Images To Full Resolution</strong> is on.</em>
</td></tr>
<tr valign="baseline">
<th scope="row"><?php _e('"rel" value in <a> tag:') ?></th>
<td><select name="gallery_plus_overlay">
<option value="none"<?php if ($gallery_plus_overlay == 'none') echo ' selected="selected"'; ?>>none</option>
<option value="lightbox"<?php if ($gallery_plus_overlay == 'lightbox') echo ' selected="selected"'; ?>>lightbox</option>
</select> Specify which, if any, javscript image overlay package to use. THIS PLUGIN DOES NOT INSTALL ANY OVERLAY PACKAGES.<br /><em>Note: Only applies when <strong>Link type</strong> is set to "image".</em>
</td></tr>
Now lets edit the gallery-plus.php
file:
Find.
'overlay' => get_option('gallery_plus_overlay'),
Add the 2nd line below, like this.
'overlay' => get_option('gallery_plus_overlay'),
'overlay2' => get_option('gallery_plus_overlay2'),
Next Find.
<a href=\"$full_image_href[0]\"" . (($overlay != 'none') ? ' class="' . $overlay . '"' : '') . ($atagtitle ? " title=\"".trim(htmlspecialchars($attachment->post_title, ENT_QUOTES ))."\"" : '') . "><img src=\"$thumbnail_link[0]\" title=\"".trim(htmlspecialchars($attachment->post_title, ENT_QUOTES ))."\" alt=\"".trim(htmlspecialchars($attachment->post_excerpt, ENT_QUOTES))."\" width=\"$thumbnail_link[1]\" height=\"$thumbnail_link[2]\" class=\"attachment-thumbnail\" /></a></{$icontag}>";
And change the $overlay to $overlay2, like this.
<a href=\"$full_image_href[0]\"" . (($overlay2 != 'none') ? ' class="' . $overlay2 . '"' : '') . ($atagtitle ? " title=\"".trim(htmlspecialchars($attachment->post_title, ENT_QUOTES ))."\"" : '') . "><img src=\"$thumbnail_link[0]\" title=\"".trim(htmlspecialchars($attachment->post_title, ENT_QUOTES ))."\" alt=\"".trim(htmlspecialchars($attachment->post_excerpt, ENT_QUOTES))."\" width=\"$thumbnail_link[1]\" height=\"$thumbnail_link[2]\" class=\"attachment-thumbnail\" /></a>
</{$icontag}>";
note: I know that this is really just riding the plugin of the lightbox script and telling it to use the thickbox only script, but till it’s added in, this is the way I went about it.
Thanks
WordPress has emerged as not only a leading blogging platform but also a content management…
Properly configured, Wordpress can be an extremely effective way of designing, maintaining and managing your…
WordPress 2.7 Beta 3 has been released for your testing pleasure. Here are some of…
This little trick is really simple and easy. All you need to do is plug…
This powerful plugin is a must-have for WordPress users. With WP-DBManager you can manage your…