我用wp_get_attachment_image_src()
并希望将这些图像卸载到CDN。
是否有一个过滤器可以获取URL并对其进行更改?
我用wp_get_attachment_image_src()
并希望将这些图像卸载到CDN。
是否有一个过滤器可以获取URL并对其进行更改?
不,不严格。你可以check the source 并确保没有挂钩可以让您更改URL。
您还应该注意到这段有趣的代码:
512 if ( $image = image_downsize($attachment_id, $size) )
513 return $image;
跟踪跟踪到here 你会发现:141 // plugins can use this to provide resize services
142 if ( $out = apply_filters( \'image_downsize\', false, $id, $size ) )
143 return $out;
如果你陷入image_downsize
...add_filter(
\'image_downsize\',
function ($f,$id,$size) {
// your own downsize function
},
10,3
);
wp_get_attachment_image_src(4);
。。。您应该能够返回所需的任何URL,但这意味着您将需要或多或少地复制image_downsize()
当然会有变化。只是想澄清一下,从4.3.0开始,任何人都可能在将来偶然发现这一点a filter to alter the image src 确实存在:wp_get_attachment_image_src
function alterImageSRC($image, $attachment_id, $size, $icon)
{
$image[0] = \'http://newimagesrc.com/myimage.jpg\';
return $image;
}
add_filter(\'wp_get_attachment_image_src\', \'alterImageSRC\', 10, 4);
Note: 要过滤图像的srcset,请使用:wp_calculate_image_srcset我安装了W3 Total Cache,这样我就可以将实时网站中的图像提供给本地开发版本。除了URL重写似乎没有在自定义帖子类型页面上发生之外,一切似乎都按预期进行。我没有打开缓存,CDN主机名替换在其他页面上运行得很好。有什么想法吗?