gpt4 book ai didi

Wordpress:srcset 在所有帖子中获取 HTTP 而不是 HTTPS

转载 作者:行者123 更新时间:2023-12-01 11:28:10 26 4
gpt4 key购买 nike

Wordpress 4.4 images get automatically a srcset attribute .我的问题如下(我在写这个问题时解决了这个问题,请参阅下面的答案):

  • 为了将所有内容传输到 https,我将 posts table 中的所有 src="http://... 引用替换为 src ="https://... (我后来将其更改为 src="//... 以支持两种协议(protocol));
  • 所有帖子上的图片在 src 属性中都获得了正确的 URL;
  • 但是,在所有获得 srcset 属性的图像中,其中的 URL 始终带有 http:// 引用。

为什么会这样?为什么这些 URL 没有得到我新更新的 https:// 开头?

最佳答案

wp-includes文件夹中搜索了一会儿,media.php文件中的wp_calculate_image_srcset方法使用了这2行:

$image_baseurl = _wp_upload_dir_baseurl();
$image_baseurl = trailingslashit( $image_baseurl ) . $dirname;

并且这个 $image_baseurl 实际上会形成 srcset 属性的新 URL,即即使整个 URL 在 wp_posts 表中并且在src属性中使用,它的开头不会被使用。

这意味着如果您在 wp_options 表中的基本 url 仍在 http:// 中,则图像将获得该协议(protocol)并且默认情况下不会显示在 https 中导航时通过您的浏览器。

为了解决这个问题,您只需将 wp_options 表中 option_value 内的 URL 更改为 https:// 或只需 // 如果您仍想同时支持这两种协议(protocol) ( double slashed )。您可以在单个查询中执行此操作:

UPDATE `wp_options`
SET `option_value` = replace(option_value, 'http://', '//')
WHERE `option_name` IN ('siteurl', 'home')

关于Wordpress:srcset 在所有帖子中获取 HTTP 而不是 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35460815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com