首页 > 解决方案 > 如何使用过滤器或原始 php 更改 get_the_post_thumbnail_url 输出

问题描述

这是我的问题:

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

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

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

有什么建议吗?

先感谢您!

标签: phpwordpressfilteraction

解决方案


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

推荐阅读