DeveWork

解决WordPress缩略图插件timthumb不支持站外图片的问题

本站 DeveWork.com的文章页下面的“亲,意犹未尽?来看更多:“的相关文章栏目的图片就是用这个WordPress缩略图插件 timthumb 驱动的。但之前一直遇到一个悬而未决问题:如果文章有图片的话,图片不能截取显示出来,用Chrome的”审查元素“查看返回400 (bad request)的结果。

一开始我也是google查找资料,网络上提出有诸如什么开启 GD库、.htaccess要加点代码的解决方案,但无济于事。找空间商小张解决,蓝冰给我一个说明:”timthumb不支持远程URL“。对,DeveWork.com的文章图片都是调用子域名来的,确实算是远程URL。但我对”timthumb不支持远程URL“表示不解,不是说支持的吗?如果不支持,那跟WordPress的多媒体功能有什么区别?

顺着这个思路,我上网查找资料。最后还是解决了,原来timthumb默认是不支持站外图片链接的;如果需要支持,需要在timthumb.php的第33行那里,将:

if(! defined('ALLOW_ALL_EXTERNAL_SITES') )      define ('ALLOW_ALL_EXTERNAL_SITES', false); 

的false改为true,即改为

if(! defined('ALLOW_ALL_EXTERNAL_SITES') )      define ('ALLOW_ALL_EXTERNAL_SITES', TRUE); 

删除原来在cache文件夹的缓存,再访问就可以有图片了!

PS:貌似这样有时候有一两篇文章还是不能显示图片,但无大碍,看来Jeff对timthumb了解还是不够全面,需要多多学习。