WordPress automatically adds the width and height attributes to [gallery] shortcode images.

How to delete these attributes? Something like this but for [gallery] output.


I can think of a couple of options:

  1. Create a new shortcode, e.g. my_gallery. You can copy the code in wp-includes/media.php. Look for the code staring with add_shortcode('gallery', 'gallery_shortcode'); and then the actual function. Rename / modify as needed. The actual img link is within the $link variable

  2. Use something like this (untested), which should work but might strip-out all width/height from any link.


add_filter('wp_get_attachment_link', 'remove_img_width_height', 10, 1);

function remove_img_width_height($html) {
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
  • @TohidGolkar has the right idea below. Both of the options provided are terrible. Rewriting the core (1st solution), and removing widths/heights across all attachment links is no better. – Dan Jan 29 '13 at 6:33
  • I wasn't suggesting to rewrite the core, but just to adapt it (copy the code and re-use it as you see fit) and create your own version of it. As for the 2nd option - yeah, it's not great and I explained how it might alter all image links. I totally agree that the version of @TohidGolkar looks much better since it's more fine-grained. – Yoav Aner Jan 29 '13 at 10:22

if you set image size in function.php as a "gallery"

add_image_size( 'gallery', 200, 120, true );

you can remove width and height of specific image size such as "gallery":

add_filter('wp_get_attachment_link', 'remove_img_width_height', 10, 4);

function remove_img_width_height( $html, $post_id, $post_image_id,$post_thumbnail) {
    if ($post_thumbnail=='gallery'){
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
  • looks much better than my 2nd snippet / suggestion. +1 – Yoav Aner Jan 29 '13 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.