更改插件内部wordpress函数的输出并将其用于wordpress主题

所以… 我正在开发一个wordpress插件, 它是要更改从wordpress函数get_the_post_thumbnail_url()获得的图像源
你有一个主题, 并在那里用get_the_post_thumbnail_url($ id)获得了图像源, 它返回了类似https://wordpress/path/to/image.jpg之类的内容, 我想在该插件内部更改该函数的输出, 例如当我在插件中对其进行修改并且你在主题内使用该函数时, 它将输出我的修改版本。
我尝试使用add_filter(), 但是它不起作用, 我也不知道它是否应该起作用。

function my_function_idk( $example ) { $asd = $example.'lul123'; return $asd; } add_filter( 'get_the_post_thumbnail_url', 'my_function_idk' ); // expected output: https://wordpress/path/to/image.jpglul123

【更改插件内部wordpress函数的输出并将其用于wordpress主题】实际输出:https://wordpress/path/to/image.jpg
也许我知道你必须使用apply_filters()来使该过滤器起作用, 但是你需要在THAT THEME中使用它, 我不希望这样。我只想修改该功能… 有可能吗?
我只是不了解他们的文档… 我对wordpress感到愤怒… fkn bulsht。
#1要使用类似add_filter(‘ get_the_post_thumbnail_url_hook’ , ‘ my_function_idk’ ); 的钩子。在你要挂钩的函数内部, 需要这样做:
function get_the_post_thumbnail_url( $post = null, $size = 'post-thumbnail' ) { $post_thumbnail_id = get_post_thumbnail_id( $post ); if ( ! $post_thumbnail_id ) { return false; } returnapply_filters('get_the_post_thumbnail_url_hook', $post_thumbnail_id, $size ); }

查看return apply_filters(‘ get_the_post_thumbnail_url_hook’ , $ post_thumbnail_id, $ size);
而且此功能没有钩子。在核心内看它。因此, 你不能” 钩” 它。
但是你有一个选择:
在get_the_post_thumbnail_url中, 我们得到了wp_get_attachment_image_url, 其中包含wp_get_attachment_image_src, 并且该函数具有return apply_filters(‘ wp_get_attachment_image_src’ , $ image, $ attachment_id, $ size, $ icon);
这样你就可以通过功能队列连接到链末尾的那个。
试试:add_filter(‘ wp_get_attachment_image_src’ , ‘ my_function_idk’ , 90, 4); 。文献资料

    推荐阅读