You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何覆盖WordPress插件样式表URL?解决HTTP链接不安全拦截问题

解决WordPress插件HTTP样式链接引发的混合内容安全问题

完全可以通过子主题来搞定这个问题,而且这比直接修改插件文件靠谱多了——毕竟改插件文件的话,插件一更新你的修改就没了,子主题能帮你保留自定义设置。下面给你两种实用的解决方法:

方法一:替换插件样式的协议为HTTPS

核心思路是先移除插件硬编码的HTTP样式,再重新用HTTPS协议加载它。具体操作步骤如下:

  1. 打开子主题的functions.php文件(可以在WordPress后台的「外观 > 主题文件编辑器」里找到,或者用FTP连接服务器修改);
  2. 把下面的代码粘贴进去:
function replace_http_plugin_style() {
    // 先移除插件原来的HTTP样式,这里的'fbw-css'是你示例里的样式ID,要换成实际的ID
    wp_dequeue_style('fbw-css');
    wp_deregister_style('fbw-css');
    
    // 重新注册并加载HTTPS版本的样式,替换成你实际的插件样式路径
    wp_enqueue_style('fbw-css', 'https://wdcb.stcwdc.org/wp-content/plugins/你的插件具体路径/样式文件名.css', array(), '1.0', 'all');
}
// 设置较高优先级,确保在插件加载样式之后执行这个函数
add_action('wp_enqueue_scripts', 'replace_http_plugin_style', 99);

注意:要把代码里的你的插件具体路径/样式文件名.css替换成实际的路径,和原来的HTTP链接保持一致,只是把http://改成https://就行。

方法二:把插件样式迁移到子主题,禁用原插件样式

如果不想依赖插件自带的样式文件(比如担心插件更新后样式被修改),可以把插件的CSS内容复制到子主题里,再禁用原插件的HTTP样式:

  1. 打开那个HTTP链接指向的插件CSS文件,复制里面所有的代码;
  2. 粘贴到子主题的style.css文件末尾;
  3. 同样在子主题的functions.php里添加这段代码,移除原插件的HTTP样式:
function disable_http_plugin_style() {
    wp_dequeue_style('fbw-css');
    wp_deregister_style('fbw-css');
}
add_action('wp_enqueue_scripts', 'disable_http_plugin_style', 99);

这样浏览器就只会加载子主题里的HTTPS样式,再也不会触发混合内容的安全警告了。

小提示

  • 如果你不确定样式ID是什么,去页面源码里找那个<link>标签的id属性值就行(比如你示例里的fbw-css);
  • 修改functions.php前最好备份一下文件,避免代码写错导致网站打不开;
  • 完成后记得清空浏览器缓存,刷新页面检查警告是否消失。

内容的提问来源于stack exchange,提问作者Cynthia A Lockley

火山引擎 最新活动