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

相关推荐

  • 宝塔面板安装指定历史版本教程

    使用宝塔官方一键命令,直接搭建出来的是最新版的宝塔。但是,很多时候我们需要使用低版本的,这个时候就没有办法直接使用一键命令来搭建了。下面就讲讲怎么安装指定历史版本宝塔面板。 一、版本合集(2022年1月6日更新) http://download.bt.cn/install/update/LinuxPanel-1.0.3.zip http://download…

    2022年5月16日
    841
  • 宝塔面板降级7.7.0方法

    这个版本可以不用强制登录宝塔账号7.7.0安装方法 纯原版安装:wget -O install.sh http://blog.fqidc.cn/bt/install_6.0.sh && bash install.sh 如已经安装宝塔最新版降级脚本如下: wget http://download.bt.cn/install/update/Lin…

    2024年7月27日
    339
  • 如何为WordPress设置自定义静态首页?

    首先我们设置一个php文件,文件名和代码都可以自定义,如show.php及下方代码为例: 代码语言:javascript 复制 <!DOCTYPE HTML> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8…

    2024年7月31日
    274
  • DZ论坛UCenter后台通信失败彻底解决方法(亲测有效)

    前面在论坛分享过discuz论坛更换目录后出现头像无法显示/ucenter无法进入,只是简单地讲了在更换子目录之后怎么重新设置参数,使得头像正常显示。 但是今天在迁移一个新的站点的时候发现ucenter彻底无法进入,直接是空白显示,如图。 另外全站会员都没法加载头像,图片显示失败。 这时候我考虑到是UCenter的链接是有问题的,但是我的uc_server文…

    2024年7月31日 建站知识
    299
  • WordPress“正在执行例行维护,请一分钟后回来”解决方法

    在WordPress 3.X的版本当中,加入了升级维护的显示功能。例如WordPress网站正在升级或者安装、升级插件的时候,访问首页将会显示“正在执行例行维护,请一分钟后回来。”如果一切顺利,这个显示将会过一段时间后消失变为正常的首页。但也有例外,有时候即使是安装成功了,这个提示也会一直存在。 解决方法: 请先通过FTP进入WordPress网站根目录,看…

    2021年8月12日
    468