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文章中的相同文字,手动编辑文章修改工作量大,可以用下面的代码实现批量替换,会用到WordPress的操作数据常量$wpdb修改数据库,不需要登录数据库操作。 将代码添加到当前主题函数模板functions.php的最后: global $wpdb; $wpdb->que…

    2022年2月12日
    843
  • 详解WordPress主题三种安装方式

    给大家介绍关于WordPress安装主题的三种方式,希望对需要的朋友有所帮助!相比于其他CMS,WordPress最大的特色就是它可以让你更换主题,无需代码就能定制网站外观,那么如何为你的站点安装WordPress主题呢,在本文中我们来分享几个常用方法 通过WordPress后台安装主题 WordPress 使用非常方便,很重要一点就是它大部分功能可以在后台…

    2022年2月12日 建站知识
    353
  • WordPress主题存放在哪个文件夹?怎样快速删除WordPress主题?

    WordPress主题存放在哪个文件夹?今天老文遇到一个网友问到这个问题。我们都知道WP程序是一款后端程序,所有的功能都通过主题和插件实现的,程序有单独的存储主题的位置,我们只需要在对应的位置放上主题即可在后台激活当前主题使用。 1、WordPress主题存放文件夹 WordPress主题存放在 “wp-content/themes/&#8221…

    2022年4月3日
    529
  • wordpress主题模板放在哪个文件夹

    WordPress是使用人数较多的一款CMS,WordPress 主题众多是一个优点,这也是我们经常更换主题的原因,不过 WordPress 一次只能启用一个主题,其他主题如果长期不使用的话,建议直接删除。 我们先看看WordPress 主题文件存放在哪里? 其实,WordPress 主题都统一存放在 wp-content\themes\文件夹内,一个主题就…

    2021年8月12日
    535
  • WordPress在前台显示登录用户的注册时间

    在使用WordPress建站的时候,有的用户希望能在前台显示用户注册时间,但是WordPress是没有这个选项的,那么该如何实现这个功能呢? 非常简单,虽然这个功能并不常见,也没多大的作用。这个功能基本上是用在有用户中心站点。 首先将下面代码复制到主题的functions.php文章中。 //WordPress在前台显示登录用户的注册时间 function …

    2021年11月2日
    474