### How do I use a different lightbox? {.title}

PhotoMosaic works with (or can easily be made to work with) almost every lightbox plugin available.  In most cases, integrating PhotoMosaic with your prefered lightbox is as simple as unchecking **Use Default Lightbox**.  Other times, it's a easy as setting **Lightbox REL** to the value stated in your lightbox's documentation.

There are, however, a number of popular lightbox plugins that require a little extra work to integrate.  For these there are "lightbox bridges".  A lightbox bridge is a plugin that extends PhotoMosaic to make integration with a specific lightbox plugin effortless.  Simply installing and activating a lightbox bridge is all that is necessary to get things working.  By having the lightbox and the bridge installed, PhotoMosaic will automatically switch to using the lightbox and will use its settings.

You can see a list of available lightbox bridges on the Global Settings page.  From there you can install both the bridge and the lightbox plugin it supports.  Please note that PhotoMosaic only supports having one lightbox bridge activated at a time.  If you'd like to request a bridge for a specific lightbox plugin, please use the [form on my CodeCanyon author page](http://www.codecanyon.com/makfak#contact) to contact me.  Be sure to include a link to the plugin's [WordPress Plugin Repository](http://plugin.wordpress.org) page.

If you're a developer and are familiar with jQuery plugins, the **Custom Lightbox Function Name** and **Custom Lightbox Params** are used to build a call to a jQuery plugin.

- **Lightbox REL** = `pmlightbox`
- **Custom Lightbox Function Name** = `prettyPhoto`
- **Custom Lightbox Params** = `{
    overlay_gallery: false,
    slideshow: false,
    theme: "pp_default",
    deeplinking: false,
    social_tools: ""
}`

... would yield ...

    $("a[rel^='pmlightbox']").prettyPhoto({
        overlay_gallery: false,
        slideshow: false,
        theme: "pp_default",
        deeplinking: false,
        social_tools: ""
    });

If, as a developer, you need absolute control, the **onReady Callback** is the place to put your custom code.
