如何使用过滤器或原始 php 更改 get_the_post_thumbnail_url 输出

How to change get_the_post_thumbnail_url output with filter or raw php

这是我的问题:

我想改变这个函数的输出:

$thumb = get_the_post_thumbnail_url();

URL 将 return 类似于:

http://mywebsite.local/wp-content/uploads/myimage.png

我的目标只是将 URL 的第一部分更改为:

http://myurl.local/wp-content/uploads/myimage.png

我总是可以使用 str_replace:

$otherthumb = str_replace('http://mywebsite.local', 'http://myurl.local', $thumb);

但我希望能找到已经烤好的东西。

有什么建议吗?

提前致谢!

您可以使用 wordpress wp_get_attachment_image_src 过滤器挂钩。

function change_image_url( $image, $attachment_id, $size, $icon ){
    $otherthumb = str_replace('http://mywebsite.local', 'http://myurl.local', $image[0]);
    return $otherthumb;
}
add_filter( 'wp_get_attachment_image_src', 'change_image_url', 10, 4 );