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解决文章ID不连续的问题

    WordPress文章ID不连续题是一个很正常的现象,不是你的博客出了问题,而是WordPress系统默认的,不用在意忽略它。 但是对于有着轻微强迫症,追求完美的朋友来说,这的确很让人讨厌。 在WordPress后台并没有直接的提供关闭这个功能的选项,那么该如何解决文章ID不连续的问题呢?今天就比格给大家讲讲如何把这个功能完完全全的隐蔽掉。 找到当前主题目录…

    2021年11月2日
    389
  • wordpress程序优化指南

    wordpress优化指南是什么? wordpress毫无疑问是一个优秀的博客系统,其最吸引人的一个特点就是有大量的外观主题(theme)可以满足个性化的博客展示需求。 但可惜的是,目前wordpress主题中95%以上是外国人写的,其设计是基于西方文字的,中国的blogger将这些主题拿来用在中文博客上时,会有很多不如意的地方;另外别人的主题也很难满足自己…

    2021年8月12日
    585
  • 用代码实现WordPress防止发表重复标题的文章

    其实所有插件后端代码都等同于加入到 functions.php 的代码片段,functions.php 里的代码片段可以做成插件,那么反过来插件自然也可以集成到 functions.php 里面。插件主要是方便管理,但同时也增加了静态资源请求数,如果你知道怎么处理这些请求,其实用不用插件也知道该如何优化网站 —— 不啰嗦了。 下面老文笔记就直接贴上代码版的吧…

    2022年11月28日
    121
  • WordPress程序自动设置标签Tag自动内链无插件实现办法

    一直有使用WP keyword Link Plugin插件,但是发现这个插件已经好久没有更新,好像目前在平台中已经找不到。所以准备替换掉这个插件。类似的WordPress插件还是有很多的,比如Keywords to Links Converter、Auto Tag Links等都可以实现。 本着少用插件,能不用插件就不用的策略,所以准备还是无插件实现。 //…

    2021年8月18日
    745
  • 阿里云SSH服务器拒绝密码登录的解决方法

    当你尝试通过SSH连接到远程服务器时,可能会遇到提示信息”SSH服务器拒绝了密码,请再试一次”。这种情况通常是因为服务器端配置限制了root用户的密码登录。本文将引导你逐步修改服务器端SSH配置,允许使用密码进行登录。 步骤1:进入终端窗口 首先,在你的本地计算机上打开一个终端窗口(对于Linux和macOS用户,可以通过快捷键或菜单…

    2024年8月15日
    299