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网站的图片加载速度的方法

    图像对于吸引和保持读者的兴趣非常重要。但是,它们也是网络上加载速度最慢的元素之一。加载缓慢可能会导致访问者放弃您的网站,因此解决图片加载慢的问题尤为重要! 如果您想要一个更轻、更快的网站,那么图像优化是一个不错的起点。通过优化,您可以继续以美观、高质量的视觉效果吸引观众的注意力,而不会显着增加页面加载时间。 1.选择正确的文件格式在开始优化图像之前,重要的是…

    2021年8月12日
    448
  • wordpress主题模板放在哪个文件夹

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

    2021年8月12日
    550
  • DZ论坛UCenter后台通信失败彻底解决方法(亲测有效)

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

    2024年7月31日 • 建站知识
    350
  • 解决WordPress编辑器可视化/文本无法切换、添加媒体按钮失效

    最近在帮一个用户网站从win服务器搬家到linux服务器上,在安装调试WordPress的时候,发现编辑文章时,添加媒体的按钮和可视化/文本编辑切换都没反应,查找资料发现WordPress为了提高效率以及加载速度,把要用到的js连接在一起,如果没有结合在一起就会导致那些依赖js的功能失效,而部分主机可能由于环境配置不标准或禁用了某些相关函数,在这里还是要和大…

    2021年11月7日
    598
  • WordPress程序网站SEO优化的建议

    SEO意思是搜索引擎优化。简而言之,SEO通过向搜索引擎证明您的内容是针对当前主题的最佳结果而起作用。您可能想知道为什么这很重要,答案很简单,您的内容在搜索引擎中的排名越高,您的内容获得的观看次数就越多。这是一种营销的东西。因此,当您尝试改善Wordpress网站的SEO时,以下是一些不错的建议。 1.提交网站地图到搜索引擎sitemap.xml 是一个包含…

    2021年8月30日
    442