如何在不更改核心文件的情况下替换wp\\u get\\u attachment\\u image()函数。该函数没有操作挂钩或筛选器挂钩。
What I am trying to achieve:
对于lazyload插件,输出图像html如下:
<img width="150" height="150" data-src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide" src="http://localhost/yxz/wp-content/uploads/blank.png">
而不是这样:
<img width="150" height="150" src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide">
最合适的回答,由SO网友:s_ha_dum 整理而成
有一个过滤器,wp_get_attachment_image_attributes
, 对于图像属性,这也是一个精心设计的属性。
function alter_att_attributes_wpse_102079($attr) {
$attr[\'data-src\'] = $attr[\'src\'];
return $attr;
}
add_filter( \'wp_get_attachment_image_attributes\', \'alter_att_attributes_wpse_102079\');
这将添加
data-src
属性这看起来正是你需要的。如果需要,您可以添加更多属性,或者更改现有属性。