A-A+
WordPress开启HTTPS后图片不能正常显示的解决方法
服务器安装了SSL证书后,在使用https打开网页的时候,有时会发现图片不能正常显示。原因是网页是https协议而网页中的图片还是以http协议加载的,导致浏览器出于安全的原因,不再加载图片。因此需要WordPress在展示网页时自动将以前保存的http图片链接改为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');