在使用 WordPress 主题时,有时会遇到图片无法正常显示的问题。这通常与 timthumb 的安全设置有关。timthumb 为了防止滥用,仅支持几个特定网站的外链图片,同时对本机图片地址的处理也可能导致问题。解决这一问题的方法非常简单,只需要增加支持的外链域名,并修改对本机图片处理的代码即可。以下是具体的解决步骤:
### 第一步:编辑 timthumb.php 文件 首先,找到 timthumb.php 文件中的以下代码(大约位于第 131 行):

if(! isset($ALLOWED_SITES)){
    $ALLOWED_SITES = array (
        'flickr.com',
        'staticflickr.com',
        'picasa.com',
        'img.youtube.com',
        'upload.wikimedia.org',
        'photobucket.com',
        'www.adminbuy.cn', // 新增加的域名
    );
}
    
在这个数组中添加您需要支持的外链域名。例如,如果您希望支持某个自定义域名,请将其添加到 `$ALLOWED_SITES` 数组中。
### 第二步:修改本机图片处理代码 接下来,在 timthumb.php 文件中找到以下代码(大约位于第 216 行):

$this->src = preg_replace('https?:\\\\/\\\\/(?:www\\\\.)?' . $this->myHost . '/i', '', $this->src);
    
这行代码的作用是:如果图片地址是本机的,则删除图片 URL 中本机的域名部分。您可以选择删除或注释掉这行代码。修改后,timthumb 将能够正确处理本机图片地址。
### 第三步:保存文件并刷新页面 完成上述两步操作后,保存 timthumb.php 文件,并重新刷新您的网站页面。此时,图片应该能够正常显示了。
### 第四步:检查文件权限 如果图片仍然无法正常显示,请检查 timthumb.php 文件的权限是否设置为 755。正确的文件权限对于脚本的正常运行至关重要。
通过以上步骤,您可以轻松解决 WordPress 主题中因 timthumb 设置而导致的图片不显示问题。这些修改不仅能够支持更多的外链图片,还能确保本机图片的正确处理。
注意:在进行任何代码修改之前,建议备份原始文件,以防止意外情况发生。这样可以确保您的网站在出现问题时能够快速恢复。