用我自己的函数替换wp_GET_ATTACH_IMAGE

时间:2013-06-06 作者:Towfiq

如何在不更改核心文件的情况下替换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">

2 个回复
最合适的回答,由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 属性这看起来正是你需要的。如果需要,您可以添加更多属性,或者更改现有属性。

SO网友:RRikesh

您可以在functions.php 文件,然后使用它代替wp_get_attachment_image().

结束

相关推荐

Hover images and Videos

我用这个代码在我的博客上显示视频循环。它工作得很好。作用phpfunction catch_video() { global $post, $posts; $first_vid = \'\'; ob_start(); ob_end_clean(); $output = preg_match_all(\'/<iframe.+src=[\\\'\"]([^\\\'\"]+)[\\\'\"].*>/i\', $post->post_c