I had the blank white screen problem, now solved. It was a script conflict issue which, in my case, was nothing more (or less) than the order in which various javascripts were loading. I had five total scripts to line up, not to mention the document.ready stuff. There were jQuery, the three jQuery GalleryView-related scripts (easing, galleryview, timers), plus some other jQuery UI tools I was using.
This order did NOT work:
- jQuery 1.4.2
- jQuery easing 1.2
- jQuery GalleryView 1.1-pack
- jQuery timers 1.1.2
- some jQuery Tools (various bits from a UI library)
This order worked:
- jQuery 1.4.2
- some jQuery Tools (various bits from a UI library)
- jQuery easing 1.2
- jQuery GalleryView 1.1-pack
- jQuery timers 1.1.2
The trick was getting my UI Tools stuff below the jQuery call and above the easing/galleryview/timers scripts.
Troubleshooting Guesswork:
I viewed the HTML source of my page to see the script ordering in the head section of the HTML. I made a local copy of this code, loaded it up in my browser, then shuffled the script order to see if things might change. Soon I found an order that worked for my combination of scripts.
The Fix:
To make my random UI tools script load where I needed it and not break the nggGalleryView Plugin, I hacked the plugin file nggGalleryview.php. I imagine there’s a more elegant solution, right? Anyway, the hack was to add a wp_enqueue_script call to the load_scripts() function at line 38 of nggGalleryview.php. I used that to load my other script in the working order, rather than where it was before.
The Lesson Learned:
Obviously this was a particular case, but I now understand that the order that scripts are loaded can affect whether or not they work together. Sometimes it’s a simple fix (or hack, ahem).
Hope this helps somebody else in your own troubleshooting hours-on-end. Good luck!