所以我使用了光子,它帮助我提高了加载速度。
虽然这很好,但我现在面临一个CORS错误,因为我使用的是模糊。js来模糊我的单篇文章的背景图像。
它引用的图像是特征图像的“缩略图”大小。由于特征图像是通过光子获取的,因此我收到了“无法访问本地图像”错误。
这是我当前获取缩略图的代码。
<?php $feat_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), \'blog-widget\'); ?>
<style>
span.img-pxl {
background-image: url(\'<?php echo $feat_image_url[0] ?>\');
}
</style>
我只想专门针对缩略图图像从我自己的站点加载,而不是从光子加载。
这可能吗?我将特色URL更改为光子URL的唯一参考是:http://jetpack.me/2013/07/17/use-photon-to-serve-post-thumbnails-with-custom/
虽然我不知道如何使用我自己网站的URL来扭转这种局面。
谢谢Roc。
所以我找到了一个黑客解决方案——尽管我知道这不是正确的方法。
function remove_jetpack_image_downsize() {
global $post;
if (is_single()) return true; else return false;
}
add_filter(\'jetpack_photon_override_image_downsize\', \'remove_jetpack_image_downsize\');
现在,它删除了我单个帖子上的所有光子URL,但这不是我试图实现的解决方案。我只需要删除50x50图像的光子URL。如果我使用上面的函数,它会移除600x600图像、300x300图像等上的光子,这是我绝对不想要的。
是否有建议,我可以仅对使用此代码的所有图像禁用光子:wp_get_attachment_image_src( get_post_thumbnail_id(), \'blog-widget\');
选项2:
因此,我可以获得全尺寸的特色图像URL,如下所示:
$bkg_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'single_post_thumnail\' );
并返回我网站的url(即www.mysite.com/image.jpg)
但如果我将“single\\u post\\u缩略图”更改为我注册的图像大小之一,如下所示:
$bkg_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'blog-widget\' );
它返回光子URL(即i0.wp.com/image.jpg)。
有了上面的URL,我是否可以用我正在尝试获取的较小大小的图像作为图像URL的目标?甚至可以通过参数裁剪特征图像。
谢谢Roc。
最合适的回答,由SO网友:Roc 整理而成
肯定是一个黑客解决方案,但迄今为止我所知道的唯一一个可行的。。。
<?php $bkg_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'single_post_thumbnail\' ); ?>
<style>
span {
background-image: url(\'<?php echo preg_replace("/\\.jpg.*/", "-50x50.jpg", $bkg_image[0]); ?>\');
}
</style>
基本上,我正在获取非光子URL,并对结束图像URL进行字符串替换。jpg“至”-50x50。jpg’(这是博客小部件图像大小的大小)
如果有更好的解决方案,那就不那么麻烦了,请分享!
我能想到的唯一问题是何时扩展不可用。jpg,但是。png或gif。如果有办法在最后一个“.”之前添加“-50x50”,我想这会有所帮助。
谢谢Roc。
当然,发布并找到替代解决方案:
要在扩展名结束之前添加字符,请执行以下操作:https://stackoverflow.com/questions/2429611/regex-how-to-insert-string-before-file-extension
<?php
$bkg_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'single_post_thumbnail\' );
$extension_pos = strrpos($bkg_image[0], \'.\'); // find position of the last dot, so where the extension starts
$thumb = substr($bkg_image[0], 0, $extension_pos) . \'-50x50\' . substr($bkg_image[0], $extension_pos);
?>
<style>
span {
background-image: url(\'<?php echo $thumb; ?>\');
}
</style>
这是我在上面发布的第一个答案的另一个解决方案,关于如何在扩展之前添加字符串。。。光子解决方案没有一个。