自动配图不显示最奇葩的原因

更新于 2023年1月26日 wordpress教程

今天有个客户说自动配图的图片突然不显示了。我拿网址一看,果然不显示。之前写教程的时候写了一个排查步骤

  1. 你需要购买插件授权
  2. 确定你安装插件后保存了一次固定连接(或者开启了本地化模式)
  3. 看看后台有没有在文章页开启自动图片
  4. 确保nginx rewrite规则设置好了
  5. 确保你的php环境安装了GD库。

根据这个步骤排查没问题。然后再看看错误日志。日志正常,完全没有错误日志,这就棘手了!

打开图片显示,是这样:

是一个空的图片,当时没细想,以为是图片生成失败了,一时间没什么思绪。

于是用postman请求了一下这个图片,发现这个图片居然有大小,不是0kb。这就很有意思了,图片其实是生成了的,只是不显示!

于是我把图片下载下来,看看图片内容到底是什么。

用文本文件打开:

看起来就是个图片,难道还有什么特殊的不可见字符?于是看看十六进制代码

直觉告诉我这个头部的EF BB可能有问题,于是搜了一下EF BB

果然,EF BB BF是utf8的(bom)byte of mark,表示这个文件是utf8格式。

破案了!

生成图片的程序原文件带有bom,于是生成的图片也带有bom,带有bom的图片并不能识别为一张图片,于是打开失败。

到目前为止,图片不显示原因多种多样,但这个最奇葩。

你可能还喜欢下面这些文章

WordPress文章自动配图、缩略图插件:wpacWordPress文章自动配图、缩略图插件:wpac

2、自动生成的图片并非真实在磁盘中的图片,而是动态生成的,如果保存到磁盘会占用大量空间,这个空间没必要浪费,因此修改主题代码,直接将缩略图的地址改为wpac自动生成的缩略图地址是一个非常好的方案。

如何制作自动配图的图片包如何制作自动配图的图片包

name表示图片包的名字,这里我们的图片包叫”我的图片包”。count表示图片包中图片的数量,具体以您制作的图片包图片数量而定,数量不限制,几百几千都行。最终我们的图片包里面的文件如下图所示:文件名是从0-3的连续数字,扩展名是jpg。

如何设置WordPress图片防盗链如何设置WordPress图片防盗链

接着打开WordPress网站根目录下的.htaccess文件,里面的原始内容应该是类似这样的:添加防盗链规则后的代码变成如下所示:绿色部份就是自己添加的规则,网址要根据需要更改,它们是属于允许使用图片的网址。//wordpress.org/

如何使用WordPress内置图片仓库制作缩略图如何使用WordPress内置图片仓库制作缩略图

如何使用WordPress内置图片仓库制作缩略图。在文章列表上加上这个图片作为缩略图.。这段代码会去找第一个上传的图片缩略图。如果找不到任何上传图片则使用默认图片然后在文章列表。

WordPress  背景WordPress 背景

从WordPress媒体库中选择文件,这意味着,如果您已经更新了图像,那么您可以直接选择它们中的任何一个。当您点击此图片时,将转到另一个页面,您可以在其中编辑缩放图像,尺寸,裁剪图片和缩略图设置等。

WordPress图片自动本地化插件wpasi介绍与下载WordPress图片自动本地化插件wpasi介绍与下载

使用wpasi非常简单,只需要在WordPress后台安装并启用插件,发布文章时会自动将文章内的所有图片本地化。插件支持一键本地化历史文章,如下图:该插件可以配合自动发文插件一起使用,文章自动发布时,图片就可以自动本地化。

WordPress图片版权检测插件wpicd,自动识别版权图片,避免图片侵权WordPress图片版权检测插件wpicd,自动识别版权图片,避免图片侵权

后台截图插件功能当文章发布或者草稿或者待审核的时候,自动检测文章中所有图片的版权状态。1.0版本增加了历史文章处理功能,在插件后台-历史文章中,点击开始处理即可自动检测所有历史文章中的图片。

WordPress自动配图插件居然还有这些细节WordPress自动配图插件居然还有这些细节

现在问题来了,如果文章有图,又增加了配图,那么会不会有可能配图和图片位于相邻的段落。原因很简单,一般需要自动配图的文章都是没有图片的文章,有图片的文章一般会关闭自动配图。其实在最近的自动配图软件已经增加了这种模式,那就是图片缓存