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日
    223
  • wordpress子主题怎么添加

    WordPress子主题简介和原理 WordPress提供了子主题功能,让我们可以通过使用子主题进行修改WordPress主题,而不需要直接修改源码,而出现无法更新的内容。子主题需要有一个父级主题存在才能启用,根据WordPress主题的主要文件,子主题存在,WordPress则会自动使用子主题的文件,而放弃使用父主题。 这样,我们先要修改父级主题的哪一个文…

    2023年1月4日
    187
  • 如何防止网站被挂木马

    今天有一个网站被挂了木马,还好备份了网站文件,还原了备份文件之后,网站才得以正常运行,那么如何防止网站被挂马是每一个网站管理者所要必须面对的,在这里我们给大家提供七招来屏蔽网站被挂马的主要途径,解决了这个问题也就解决了网站的安全问题。 第一招,黑客一般给你放马,都是通过工具来扫描你的程序漏洞,在你的网站上线之前,你就自己先用他们常用的工具自己扫描一下程序的安…

    2021年8月17日
    565
  • 腾讯云不同QQ账号之间数据也迁移方法

    在使用腾讯的时候尤其是做运维的朋友 要管理好几个QQ号但是不能通过内网来进行导致数据传输很慢很慢现在新的共你上线啦  解决这个问题。非常强大的功能啊! 产品发布自定义镜像跨账号共享上线啦! 背景: 自定义镜像是由用户通过CVM的镜像制作功能制作的镜像,但用户制作的镜像只有本人账户可以使用。特性介绍:自定义镜像共享上线后,用户可以通过自定义镜像的共享功能,将自…

    2022年11月12日
    526
  • 织梦DedeCMS用来建立博客网站需要授权吗?有版权问题吗

    织梦DedeCMS内容管理系统以简单、实用、开源而闻名,而织梦DedeCMS分为两个版本:一是免费版,适合很多个人站长用来建立各种非营利类型网站;二是商业授权版,适合政府单位、教育机构、协会团体、企业、以营利为目的的站点使用。这两个版本的版权说明对比如下表所示: 截图来自DedeCMS官网 而且根据《DedeCMS最终用户授权协议》许可的权利之一就是“您可以…

    2021年9月27日
    460