解决WordPress开启HTTPS后图片不能正常加载的问题

  • 8,238

Nginx开启了Https支持,但是在Https打开网页的时候,发现,图片都不能正常的显示出来,看了一下源代码,发现是网页中的图片链接都被写成了HTTP的,导致浏览器出于安全的原因,不再加载图片,导致效果很差,因此需要WordPress同时支持HTTP,HTTPS。

解决WordPress开启HTTPS后图片不能正常加载的问题

找到当前主题下的 functions.php 文件,编辑之,在里边代码的末尾追加如下代码:

/* 替换图片链接为 https */
function https_image_replacer($content){
	if( is_ssl() ){
		/*已经验证使用 $_SERVER['SERVER_NAME']也可以获取到数据,但是貌似$_SERVER['HTTP_HOST']更好一点*/
		$host_name = $_SERVER['HTTP_HOST'];
		$http_host_name='http://'.$host_name.'/wp-content/uploads';
		$https_host_name='https://'.$host_name.'/wp-content/uploads';
		$content = str_replace($http_host_name, $https_host_name, $content);
	}
	return $content;
}
add_filter('the_content', 'https_image_replacer');

 

 

weinxin
我的微信
这是我的微信扫一扫
HTTP最后更新:2017-3-26
开拓者博主
  • 本文由 发表于 2017年3月8日18:09:49
  • 转载请务必保留本文链接:https://www.150643.com/437.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  1   博主  1
    • Win7en乐园 Win7en乐园 1

      https是大势所趋,正打算也将网站全面加持https

      • 开拓者博主 开拓者博主

        恩,是的。现在大部分网站已经开始部署完毕了!