No offence intended Matt, but you seem to be troubleshooting by shotgun rather than sniper rifle. Random suggestions to enable this/disable that may or may not hit the target. OK, admittedly the people asking for assistance with this problem aren’t giving you the information you need, so I’ll attempt to do that.
I have a site with exactly the same problem: Shadowbox loads on some pages (well, only one actually) but not others, where it previously ran on all pages just fine. The problem started after a WordPress upgrade.
The logical approach is to compare a working page with one that no longer works, so here’s the result of doing just that…
*** WORKING PAGE ***
Apart from the rel=”Shadowbox” tag in each image reference, the working page contains the following references to the term “shadowbox”
<head>
<link rel='stylesheet' id='shadowbox-css-css' href='https://domainname.com/blog/wp-content/uploads/shadowbox-js/src/shadowbox.css?ver=3.0.3' type='text/css' media='screen' />
<link rel='stylesheet' id='shadowbox-extras-css' href='https://domainname.com/blog/wp-content/plugins/shadowbox-js/css/extras.css?ver=3.0.3.10' type='text/css' media='screen' />
</head>
<body>
<!-- The following appears towards, but not at, the bottom of the body section -->
<script type='text/javascript' src='https://domainname.com /blog/wp-admin/admin-ajax.php?action=shadowboxjs&cache=487b3d6f31bf87438edf438705c40481&ver=3.0.3'></script>
<!-- Begin Shadowbox JS v3.0.3.10 -->
<!-- Selected Players: html, iframe, img, qt, swf, wmp -->
<script type="text/javascript">
/* <![CDATA[ */
var shadowbox_conf = {
animate: true,
animateFade: true,
animSequence: "sync",
modal: false,
showOverlay: true,
overlayColor: "#000",
overlayOpacity: "0.8",
flashBgColor: "#000000",
autoplayMovies: true,
showMovieControls: true,
slideshowDelay: 0,
resizeDuration: "0.35",
fadeDuration: "0.35",
displayNav: true,
continuous: false,
displayCounter: true,
counterType: "default",
counterLimit: "10",
viewportPadding: "20",
handleOversize: "resize",
handleUnsupported: "link",
autoDimensions: false,
initialHeight: "160",
initialWidth: "320",
enableKeys: true,
skipSetup: false,
useSizzle: false,
flashParams: {bgcolor:"#000000", allowFullScreen:true},
flashVars: {},
flashVersion: "9.0.0"
};
Shadowbox.init(shadowbox_conf);
/* ]]> */
</script>
<!-- End Shadowbox JS -->
</body>
And Shadowbox on that page works fine, but now let’s look at a…
*** NONWORKING PAGE ***
<link rel='stylesheet' id='shadowbox-css-css' href='https://domainname.com/blog/wp-content/uploads/shadowbox-js/src/shadowbox.css?ver=3.0.3' type='text/css' media='screen' />
<link rel='stylesheet' id='shadowbox-extras-css' href='https://domainname.com/blog/wp-content/plugins/shadowbox-js/css/extras.css?ver=3.0.3.10' type='text/css' media='screen' />
That’s It! Seems like there’s a whole block of JavaScript missing.
So if that is indeed the problem, the question becomes “What to do about it?”
Since each WordPress page (as displayed in a browser) is assembled on demand from various components such as database objects, config files, and so on, no completed page resides on the server. So it’s not a matter of just going to each nonworking page and inserting the missing code block towards the end of the body section.
But unfortunately that’s the limit of my knowledge as to how WordPress works. I have no idea how to get the missing code into the final output of the appropriate pages. I would have thought that a reinstallation of Shadowbox would do the trick, but it didn’t. Perhaps Rosie’s question about a way to totally eliminate all traces of Shadowbox before trying a reinstallation might be pertinent.
So there’s the problem Matt. How do we fix it? Over to you.