如何截取和修改wp_get_attachment_Image()的功能?

时间:2015-10-22 作者:AgmLauncher

我在wordpress中建立了一个站点,该站点有大约80GB的高分辨率图像,超过了托管主机的存储空间。我的计划是将所有图像移动到S3,但我注意到wp_get_attachment_image() 自动为src加前缀/wp-content/uploads 而不是遵循存储在数据库中的路径。

有没有办法钩住该方法并修改它以不包含前缀?

2 个回复
最合适的回答,由SO网友:Rubatharisan Thirumathyam 整理而成

这可能是一种解决方案,可以将字符串替换/wp内容/上载为“”(空),例如:

假设:wp\\u get\\u attachment\\u image()返回=\'/wp content/uploads/myimage。png’;

<?php
echo str_replace(\'/wp-content/uploads/\', \'\', wp_get_attachment_image()); 
?>
这将导致echo:“myimage”。png\'

尝试以下操作:

function alter_image_src($attr) {
  $attr[\'src\'] = str_replace(\'/wp-content/uploads/\', \'\', $attr[\'src\']);
  return $attr;
}
add_filter( \'wp_get_attachment_image_attributes\', \'alter_image_src\');
在你的功能页面(主题)。

SO网友:AgmLauncher

看起来我可以在wp_get_attachment_image_attributes(), 被上级使用wp_get_attachment_image() 作用

相关推荐

Adding Images into API

我正试图将特色图片添加到我的API中,但这是一种不同类型的帖子。http://example.com/wp-json/wp/v2/directory我一直在使用WP REST API控制器,但它没有显示图像选项。我也尝试使用“更好的RESTAPI特色图片”,但运气不好。这开始让我恼火了。