WordPress媒体库图片不显示或显示错误的原因及解决方案

最近在自己开发一款WordPress主题-wait主题,但是在开发过程中突然出现了了一个奇葩的问题,媒体库图片不显示了!!总是显示那个加载中的小圆圈,而且上传图片也总是失败。折腾了两三天以后,终于发现了问题所在,赶紧记录下来。。。。

描述

最近在自己开发一款WordPress主题-wait主题,但是在开发过程中突然出现了了一个奇葩的问题,媒体库图片不显示了!!总是显示那个加载中的小圆圈,而且上传图片也总是失败。具体如下图所示:

而选择列表模式则显示正常:

尝试

发现这个问题以后,主题开发的其他工作只能暂时停止了,专心解决这个问题。

先去网上搜索,结果发现结果都是千篇一律,说什么文件夹权限问题啦,文件编码问题啦,插件设置问题等等。

可是我这是本地测试系统, 没有安装任何插件,也不存在权限问题,编码格式都是utf8无Bom格式。

倒是发现有几个网友出了和我一样的问题,但是下面没有任何人给出解决方案。。。。。

网上搜索无果后,只能自己摸索解决了。

探索

首先怀疑自己的主题函数与wp自带函数重名。于是打开upload.php,将其中的函数与自己写的函数一一比对,发现没有重名问题,故排除此选项。

然后检查admin文件,没有发现可疑情况。

在浏览器调试窗口中检查css和js的加载调试情况,也没有发现异常。

最后没办法了,打开代码窗口,一行一行查看代码,也没有发现啥可怀疑的。

就这样来来回回折腾了两三天,直到今天下午,无意中,我发现了问题的根源~~~~

问题

今天下午再一次查看代码的时候,突然发现了这么一条语句:

问题就出在这条语句上!!!!

来看w3school上对HTML声明的解释:

声明必须是 HTML 文档的第一行,位于 标签之前。

声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

在 HTML 4.01 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

提示:请始终向 HTML 文档添加 声明,这样浏览器才能获知文档类型。

声明必须是 HTML 文档的第一行,位于 标签之前! 声明必须是 HTML 文档的第一行,位于 标签之前! 声明必须是 HTML 文档的第一行,位于 标签之前!

重要的话说三遍~~

所以,只要上面那条讨厌的语句去掉,就可以解决这个问题了~~

解决

查找源代码,发现是我的admin文件中有这么一句引用:

当时以为是这条语句会在网页正文里,所以就写上了,但是今天才发现,无论将它放到哪里,它总是会出现在网页第一行!!!WTF!!!

只好将其删掉,将css代码写到了文件里,问题才算成功解决~~~~

总结

1、不要盲目相信网络上的东西,自己动手才是王道

2、调试bug,要从源代码入手。

3、碰到问题要冷静,千万不要急躁~~

4、自己动手,丰衣足食~~~

前瞻

wait主题即将发布,敬请期待~~~

转载注明出处等英博客

转载注明出处等英博客

转载注明出处等英博客

重要的话说三遍~~


欢迎光临我的小站: 等英博客

++> WordPress媒体库图片不显示或显示错误的原因及解决方案

你可能感兴趣的:(Linux,解决方案,经验总结,wordpress)