replace wp_get_attachment_image with my own function

How can I replace wp_get_attachment_image() function without changing the core files. The function doesnt have an action hook or a filter hook.

What I am trying to achieve:

Read More

for lazyload plugin output the image html like this:

<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">

instead of this:

<img width="150" height="150" src="http://localhost/yxz/wp-content/uploads/2010/06/calliope.slide_-150x150.jpg" class="attachment-thumbnail" alt="calliope.slide">

Related posts

2 comments

  1. There is a filter, wp_get_attachment_image_attributes, for the image attributes– a well designed one too.

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

    That will add the data-src attribute. That looks like what you need. You could add more attributes, or alter the existing onese, if you need.

  2. You can create another function in your functions.php file and then use it instead of wp_get_attachment_image().

Comments are closed.