WordPress.org

Make WordPress Core


Ignore:
Timestamp:
10/06/2015 04:58:21 AM (4 years ago)
Author:
wonderboymusic
Message:

Merge the Responsive Images feature plugin into core, initial commit. See: https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images/

New functions in media.php:

  • wp_get_attachment_image_srcset_array() - Returns an array of image candidate string data used to build a srcset value for an attachment given an $attachement_id and $size.
  • wp_get_attachment_image_srcset() - Returns the srcset value for an attachment given an $attachement_id and $size.
  • wp_get_attachment_image_sizes() - Returns the sizes value for an attachment given an $attachement_id and $size and optional arguments used to alter its output.
  • wp_make_content_images_responsive() - A display filter for adding srcset and sizes to images embedded in content.
  • wp_img_add_srcset_and_sizes() - A utility function used by wp_make_content_images_responsive() to add srcset and sizes to a single <img> element.

Modifies existing core functions:

  • Modify wp_get_attachment_image() so the HTML returned for an image includes srcset and sizes.
  • Modify get_media_embedded_in_content() (sup, 3.6 leftover) by adding <img> to the list of accepted tags that can be matched in content. This is used in wp_make_content_images_responsive() to find all of the images embedded in content before passing them off to wp_img_add_srcset_and_sizes().

Tests:

  • Add a new factory method to WP_UnitTest_Factory_For_Attachment named create_upload_object()
  • Adds unit tests
  • Updates unit tests

Props joemcgill, tevko, jaspermdegroot, mdmcginn, barryceelen, peterwilsoncc, fsylum, wonderboymusic, chriscoyier, benjaminpick, jrfnl, #12kingkool68, janhenckens, ryanmarkel, side777, ryelle, wturrell, micahmills, mattbagwell, coliff, DrewAPicture.
See #33641.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/factory.php

    r34828 r34855  
    9494    function create_object( $file, $parent = 0, $args = array() ) {
    9595        return wp_insert_attachment( $args, $file, $parent );
     96    }
     97
     98    function create_upload_object( $file, $parent = 0 ) {
     99        $contents = file_get_contents($file);
     100        $upload = wp_upload_bits(basename($file), null, $contents);
     101
     102        $type = '';
     103        if ( ! empty($upload['type']) ) {
     104            $type = $upload['type'];
     105        } else {
     106            $mime = wp_check_filetype( $upload['file'] );
     107            if ($mime)
     108                $type = $mime['type'];
     109        }
     110
     111        $attachment = array(
     112            'post_title' => basename( $upload['file'] ),
     113            'post_content' => '',
     114            'post_type' => 'attachment',
     115            'post_parent' => $parent,
     116            'post_mime_type' => $type,
     117            'guid' => $upload[ 'url' ],
     118        );
     119
     120        // Save the data
     121        $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $parent );
     122        wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) );
     123
     124        return $id;
    96125    }
    97126}
Note: See TracChangeset for help on using the changeset viewer.