Make WordPress Core


Ignore:
Timestamp:
11/29/2024 11:46:50 PM (21 months ago)
Author:
adamsilverstein
Message:

Media: improve filter to enable setting output quality by image size.

Add a new $size parameter to the wp_editor_set_quality filter. $size is an array with 'width' and 'height' keys. Developers can use this information to set image quality based on the image size.

Props adamsilverstein, joemcgill, Mte90, codekraft, birgire, azaozz, sppramodh.
Fixes #54648.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-image-editor-imagick.php

    r59406 r59473  
    191191         *
    192192         * @since 3.5.0
    193          *
    194          * @param int $quality Compression Quality. Range: [1,100]
     193         * @since 6.8.0 The `$dims` parameter was added.
     194         *
     195         * @param int   $quality Compression Quality. Range: [1,100]
     196         * @param array $dims    Optional. Image dimensions array with 'width' and 'height' keys.
    195197         * @return true|WP_Error True if set successfully; WP_Error on failure.
    196198         */
    197         public function set_quality( $quality = null ) {
    198                 $quality_result = parent::set_quality( $quality );
     199        public function set_quality( $quality = null, $dims = array() ) {
     200                $quality_result = parent::set_quality( $quality, $dims );
    199201                if ( is_wp_error( $quality_result ) ) {
    200202                        return $quality_result;
     
    368370                }
    369371
     372                $this->set_quality(
     373                        null,
     374                        array(
     375                                'width'  => $dst_w,
     376                                'height' => $dst_h,
     377                        )
     378                );
     379
    370380                // Execute the resize.
    371381                $thumb_result = $this->thumbnail_image( $dst_w, $dst_h );
Note: See TracChangeset for help on using the changeset viewer.