最近遇到一个问题,许多WordPress博客中的图片来自新浪微相册,但突然间这些图片在文章中无法正常显示。当尝试右键点击图片并选择“查看图片”,浏览器会显示403 Forbidden错误,提示无权访问该URL。这个问题主要出现在电信和移动网络环境下,而联通网络则不受影响,这让人联想到可能与视觉中国事件引发的版权问题有关,若新浪确实限制了外部链接,将对许多网站产生影响。
为了解决前端图片显示问题,可以在当前主题的页眉模板header.php文件末尾添加“。然而,这种方法仅解决了前端显示问题,后台编辑时仍然无法看到图片。
要彻底解决这个问题,可以将以下代码添加到当前主题的函数模板functions.php中:
“`php
// 添加referrer标签
add_Action(‘wp_head’, ‘zm_admin_referrer’); // 前端
add_action(‘admin_head’, ‘zm_admin_referrer’); // 后台
add_action(‘login_head’, ‘zm_admin_referrer’); // 登录注册页面
function zm_admin_referrer() {
echo ”;
}
“`
需要注意的是,这种方法并非所有浏览器都支持,尤其是旧版本的IE。然而,由于微软已放弃支持IE,国内大部分双核浏览器(如Chrome内核或高速模式)能正常显示图片。
尽管如此,上述解决方案并未揭示问题的根本原因,因此只能视为临时对策。此外,使用“referrer”标签可能会影响百度统计,目前尚无有效解决方案。
如果需要在``标签中加载图片,可以采用如下形式以避免referrer问题:
“`htML
“`
对于需要将外部链接的图片批量导入到本地的情况,可以参考“批量导入WordPress文章中的外链图片到本地”的教程进行操作。