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

时间:2020-09-02 09:28:20

标签: php wordpress filter action

这是我的问题:

我想更改此函数的输出:

$thumb = get_the_post_thumbnail_url();

URL将返回如下内容:

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);

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

有什么建议吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用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 );