WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My Wordpress theme (when enabled) overrides the rel value of the link of all images with rel="lightbox" using the following code:


How can I edit the JQuery to check for the rel value first? If the rel value is already set to "lightbox[xyz123]" or "lightbox[xyz-123|abc]" or "lightbox", then the rel value will not be over-written.


share|improve this question
up vote 2 down vote accepted
/* Add rel="lightbox" to image links if the lightbox is enabled */

if ( jQuery( 'body' ).hasClass( 'has-lightbox' ) && ! jQuery( 'body' ).hasClass( 'portfolio-component' ) ) {
        jQuery( 'a[href$=".jpg"], a[href$=".jpeg"], a[href$=".gif"], a[href$=".png"]' ).each( function () {
                var imageTitle = '';
                if ( jQuery( this ).next().hasClass( 'wp-caption-text' ) ) {
                        imageTitle = jQuery( this ).next().text();
               if (jQuery(this).attr('rel').indexOf("lightbox") == -1 )
                jQuery( this ).attr( 'rel', 'lightbox' ).attr( 'title', imageTitle );

        jQuery( 'a[rel^="lightbox"]' ).prettyPhoto({social_tools: false});
share|improve this answer
Thank you for the quick response. It works. However, I needed to change the operator "!=" to "=" first – JK Thng Aug 22 '12 at 13:15
ofcourse...my mistake.. ... -1 means it doesn't have lightbox. Edited my response, and welcome to WPSE – woony Aug 22 '12 at 13:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.