WordPress开启HTTPS后正文图片改为HTTPS两种方法

WordPress 站点开启 HTTPS 后,文章中引用的图片就很有必要把 HTTP 统一改为 HTTPS,要不然会地址栏上的绿锁就会有黄色的三角,感觉是很不爽的。为了解决这个问题,我们有两种方法:一个是治标不治本的办法,就是在主题的  functions.php 文件中加入字符替换语句,这样读者在每次访问的时候会相应的把图片的 http 链接替换为 https,而数据库的原始内容不变;另一个彻底根治的办法是,直接进入数据库用 SQL 语句把 HTTP 直接替换为 HTTPS。下面老文笔记就这两个方法本文做简单介绍:

WordPress开启HTTPS后正文图片改为HTTPS两种方法 - 第1张 - boke112联盟(boke112.com)

方法一:通过主题的 functions.php 文件来批量替换

在主题文件的 functions.php(WP后台“外观”-“编辑”右侧可以找到)里加入如下代码(注意域名需要做相应修改)

/* 替换图片链接为 https */
/* 来源(https://www.wenrr.com/): */
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');

PS:老文认为应该不用那么复杂,直接使用以下代码可能会更加简练一些,毕竟大家的域名基本上都是固定的。

function replacehttp($content){
if( is_ssl() ){
$content = str_replace('http://域名/wp-content/uploads', 'https://域名/wp-content/uploads', $content);
}
return $content;
}
add_filter('the_content', 'replacehttp');

方法二:通过 SQL 语句进行正文的批量替换

PS:操作前请务必对数据库进行备份,以避免不可挽回的数据丢失!

WordPress开启HTTPS后正文图片改为HTTPS两种方法 - 第2张 - boke112联盟(boke112.com)

运行如下语句批量替换:

UPDATE wp_posts SET post_content = replace(post_content, 'http://域名/wp-content/uploads','https://域名/wp-content/uploads');

PS:记得将以上语句中的域名及路径个自己的,如果更改过数据库表的前缀,还要记得修改wp_为自己的前缀哦。

关于WordPress开启HTTPS后正文图片改为HTTPS两种方法的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年9月27日 上午11:19
下一篇 2021年10月7日 上午1:26

相关推荐

  • WordPress网站优化插件youpzt-optimizer,给网站提速70%

    很多用WordPress程序的站长朋友觉得现在wordpress越来越慢了!排除主机配置因素不谈,还有不少原因影响网站加载速度: 谷歌被墙,谷歌字体长时间加载不下来; Gravatar头像加载缓慢,或加载失败; 使用代码书写不规范或代码质量差的主题或者插件; 加载了没有必要的文件或垃圾数据; WordPress程序版本检查更新 …… 所以就制作了一个网站优化…

    2023年1月4日
    206
  • wordpress网站免插件安装sitemap地图

    有时候因为装多了插件导致网站很卡,今天小编来说说纯代码免插件制作站点地图的方法。 对于一些有一定技术基础的站长来说,总是使用插件感觉与自己的身份不匹配,总想着自己写一些代码出来炫耀一下。那就使用下面的免插件制作站点地图吧。 使用Dreamweaver CS6软件新建一个空白的HTML页面;将以下的代码粘贴到HTML页面里(一定要在代码模式下粘贴噢); &lt…

    2021年9月2日
    435
  • 宝塔面板快速安装fileinfo组件支持方法

    有些程序的特殊性,需要各种组件支持才可以安装。前几天一个网友提到在使用宝塔面板,问如何安装fileinfo扩展支持。在这篇文章中正好有帮助这个网友解决在宝塔面板中安装fileinfo的过程,所以记录下来,以便有需要的同学看到之后参考使用。 第一、准备安装 登入当前宝塔面板,进入当前需要安装fileinfo扩展的PHP目录管理。 第二、安装扩展 在安装扩展菜单…

    2021年8月12日
    565
  • 最好用的国内国外便宜域名注册商推荐

    一、国内、国外域名注册商区别 开始推荐之前还是先说一下国内、国外域名注册商的主要区别,从老文个人的总结经验来看,主要包括以下几个方面的区别: 实名认证:国内所有域名注册商都需要实名认证才能注册域名,而国外域名注册商是不需要实名认证的。 网站备案:如果网站需要备案,目前仅支持国内域名注册商处注册的域名进行备案,如果域名在国外注册是不能备案的。 转出限制:目前来…

    2022年4月3日
    820
  • 加快WordPress网站的图片加载速度的方法

    图像对于吸引和保持读者的兴趣非常重要。但是,它们也是网络上加载速度最慢的元素之一。加载缓慢可能会导致访问者放弃您的网站,因此解决图片加载慢的问题尤为重要! 如果您想要一个更轻、更快的网站,那么图像优化是一个不错的起点。通过优化,您可以继续以美观、高质量的视觉效果吸引观众的注意力,而不会显着增加页面加载时间。 1.选择正确的文件格式在开始优化图像之前,重要的是…

    2021年8月12日
    428