I’m not sure if this will help but I spent 2 days working on my issue which fell under the category “Images in posts not shadowboxing”.
I manage multiple sites and have been using Shadowbox JS on several of them. I installed the plugin on all of them using the WordPress Admin > Plugin panel. Until recently this was fine but the plugin failed to work on the latest site I’m in the process of building. To be more specific, the plugin partially worked but failed to open images in a light box. The plugin did generate the required (rel=”shadowbox…”) attribute for all links with images but for some reason images would only open in a page and not in a light box.
My solution was to go to the author site (https://www.shadowbox-js.com/download.html) and download the source files manually. I selected all the player options, downloaded the source files, then uploaded only the shadowbox.js file to my server. I chose the location wp-content/plugins/shadowbox-js/js/shadowbox.js for my purposes but this shouldn’t matter. Keep in mind, this is in addition to retaining the active version of the plugin already installed in the Admin panel.
I then updated my header.php file to include a static reference to the shadowbox.js file AND included the Shadowbox.init(); call like below. I tried commenting them out individually and it turned out that both needed to be included for it to work. In addition, this update had to be included below the default <link> and <script> tags that the plugin generates.
<link rel="stylesheet" type="text/css" href="https://oxygenfactor.com/site/wp-content/uploads/shadowbox-js/src/shadowbox.css">
<script type="text/javascript" src="https://yoursite.com/wp-content/plugins/shadowbox-js/js/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init();
</script>
So to summarize…
- Have Shadowbox JS plugin already installed.
- Go to https://www.shadowbox-js.com/download.html to download source files
- Upload only the shadowbox.js file to your server
- Place the included code below the default <link> and <script> tags that the plugin generates.
Not sure if this helps everyone but it worked for me.