我遇到了在 ssl wordpress 上加载不安全内容的问题,其余一切都很好,所有链接都在 https 下,但我们回显的东西很少没有显示为 https。我尝试使用插件来修复不安全的内容,但没有用。下面是我们用来获取显示为 http 而不是 https 的图像的代码。我想知道如何强制这些图像改为以 https 加载?
<?php
$galleryImages = get_post_meta($post->ID, 'atak_portfolio_gallaryImages', true);
if(is_array($galleryImages)){
foreach($galleryImages as $galleryImage)
{
?>
<a href="<?php echo $galleryImage; ?>">
<img class="alignnone size-full wp-image-1232" src="<?php echo $galleryImage; ?>" alt="project10-4" rel="lightbox" width="1024" height="673">
</a>
<?php
}
}
?>
第二个:
<?php
$galleryImages = get_post_meta($post->ID, 'atak_portfolio_gallaryImages', true);
if(is_array($galleryImages)){
foreach($galleryImages as $galleryImage)
{
?>
<a href="<?php echo $galleryImage; ?>">
<img class="alignnone size-full wp-image-1232" src="<?php echo $galleryImage; ?>" alt="project10-4" rel="lightbox" title="Atak Interactive Portfolio" width="1024" height="673">
</a>
<?php
}
}
?>
最佳答案
也许您应该从 http(s) 协议(protocol)中删除 URL?
<?php
$galleryImages = get_post_meta($post->ID, 'atak_portfolio_gallaryImages', true);
if(is_array($galleryImages)){
foreach($galleryImages as $galleryImage)
{
$galleryImage = preg_replace( '#http[s]?:#i', '', $galleryImage );
?>
<a href="<?php echo $galleryImage; ?>">
<img class="alignnone size-full wp-image-1232" src="<?php echo $galleryImage; ?>" alt="project10-4" rel="lightbox" title="Atak Interactive Portfolio" width="1024" height="673">
</a>
<?php
}
}
如果我在 preg_replace REGEX 中没有犯错,你应该得到像 //your-site/.../image.png
这样的 URL,这应该可以解决你的问题。
关于php - ssl 网站上的 WordPress 不安全内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314519/