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怎么自动发布文章

    WordPress具有定期发布文章的功能。在发布界面中,有一个按钮用于立即发布和编辑文章。单击此处可编辑发布文章的时间。 因此,我们可以设置在特定时间发布文章的时间: 为什么我们需要定期发表文章?定期发表文章有哪些优点和缺点?为什么我们需要使用WordPress的定时发帖功能?对于搜索引擎和用户体验来说,在固定时间发布文章是一种非常好的体验。 因为如果我们网…

    2023年1月4日
    228
  • WordPress网站设置部分文章内容评论/回复后可见

    如果我们希望隐藏文章部分内容,需要用户评论可见 、回复可见,那么今天这篇WordPress教程文章就刚好适合你。 这个功能实现起来很容易,而且可以提高用户积极性,是一个非常不错的功能。 下面是主要的核心代码。 //WordPress实现文章部分内容评论后可见 function reply_to_read($atts, $content=null) { ext…

    2021年9月4日
    670
  • 做网站是使用Nginx还是Apache

    有关 Nginx 和 Apache 的介绍我就不做赘述了,大家自行百度、谷歌一下就可以了解了,废话不多说了,直奔主题。 1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。 在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品;Ngi…

    2021年11月17日
    374
  • 一台服务器主机可以备案多少个域名

    前日,把小站申请ICP备案,以便能托管在国内主机上,提升访问速度,结果在腾讯云备案系统添加新网站时,提示一台云服务器只允许提交5个网站备案信息。可我记得原来在阿里云时,我有7个域名备案的。于是我查询了几大云服务商家对备案数量的限制规定,具体情况如下。 腾讯云 个人账号一台云服务器(CVM)可以备案5个域名,企业账号可以生成5个授权码并加服务器本身可备案的5个…

    2021年9月7日
    504
  • Nginx常用屏蔽规则,让网站更安全

      引言 Ng­inx (en­gine x) 是一个高性能的 HTTP 和反向代理服务,目前很大一部分网站均使用了 Ng­inx 作为 WEB 服务器,Ng­inx 虽然非常强大,但默认情况下并不能阻挡恶意访问,这里有一份常用的 Ng­inx 屏蔽规则,希望对你有所帮助。 在开始之前,希望您已经熟悉 Ng­inx 常用命令(如停止、重启等操作)及…

    2021年8月25日
    738