【原创】wordpress主题延迟加载功能 灯箱功能 音乐播放冲突问题的分析思考及解决办法

今天遇到一个wordpress图片灯箱失效的问题,花了很长时间折腾,到目前终于搞定,先把问题记录下来,避免以后遇到同样的问题。

【原创】wordpress主题延迟加载功能 灯箱功能 音乐播放冲突问题的分析思考及解决办法

问题点:

开启Images Lazyload and Slideshow插件的图片延迟加载和灯箱功能,无论怎么设置,灯箱都无法打开,只要点击图片,就会打开图片的原地址,并没有进入灯箱。无论我怎么切换设置,都是如此。

分析及解决办法:

第一,我怀疑是没有加载灯箱的js文件,怎么去排除这个问题,最笨的方法也是最有效的方法就是对比网页的代码。刚好我搭建了一个测试站,又刚好这个测试站好用,而我的inqingdao.cn确不能使用。打开两个站点的首页,进行对比,发现,出了域名不同,其他都一样,但是正式站就是没有执行灯箱js,为何?

第二,既然代码都一样,我去看看后台的主题,原来我的主题一个启用的子主题,一个直接启用的主题。直接把主题替换了,从子主题换到了主主题上,发现问题解决。那么问题很明显的出现在子主题。

第三,仔细研究了子主题的相关文件,找到了一个致命的问题,就是header这个文件,Images Lazyload and Slideshow这个插件相关的js被加载在主主题的header文件中,然而,子主题有header文件,会直接调用子主题的header文件,而子主题的header文件调用了主主题的header文件内容加上子主题的header文件内容。而Images Lazyload and Slideshow插件的js并没有直接写入朱主题的header文件,导致了无法调用这个插件的灯箱js。

第四,既然问题找到了,我为何要启用子主题的header文件,就是在里面加了一段音乐播放的代码(因为不想动原生的主题header文件),既然不能两全,就要把音乐代码放到原生主题的header文件中了,这样就可以解决问题。

其他方法:

上面的解决办法是动了原生主题的header文件,在不动原生主题的情况下,好像没办法解决,但是我这边刚好用了一个oss插件,里面有oss的图片延迟加载功能,启用这个功能以后,再加上一个专用灯箱的插件,这样就完美解决了。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论