Ticket #31004: add-srcset-to-avatars.diff
File add-srcset-to-avatars.diff, 2.3 KB (added by , 6 years ago) |
---|
-
src/wp-includes/link-template.php
3401 3401 'rating' => get_option( 'avatar_rating' ), 3402 3402 'scheme' => null, 3403 3403 'processed_args' => null, // if used, should be a reference 3404 'srcset_array' => array(), 3404 3405 ) ); 3405 3406 3406 3407 if ( is_numeric( $args['size'] ) ) { … … 3521 3522 'r' => $args['rating'], 3522 3523 ); 3523 3524 3525 $url_args = array_filter( $url_args ); 3524 3526 $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash ); 3525 3527 3526 3528 $url = add_query_arg( 3527 rawurlencode_deep( array_filter( $url_args )),3529 rawurlencode_deep( $url_args ), 3528 3530 set_url_scheme( $url, $args['scheme'] ) 3529 3531 ); 3530 3532 … … 3539 3541 */ 3540 3542 $args['url'] = apply_filters( 'get_avatar_url', $url, $id_or_email, $args ); 3541 3543 3544 if ( isset( $args['size'] ) ) { 3545 if ( ! is_array( $args['srcset_array'] ) ) { 3546 $args['srcset_array'] = array(); 3547 } 3548 $srcset_sizes = array( 3549 '1.5x' => 1.5, 3550 '2x' => 2, 3551 '3x' => 3, 3552 ); 3553 foreach ( $srcset_sizes as $size_label => $multiplier ) { 3554 $srcset_url_args = wp_parse_args( array( 3555 's' => ceil( $args['size'] * $multiplier ), 3556 ), $url_args ); 3557 $args['srcset_array'][ $size_label ] = add_query_arg( 3558 rawurlencode_deep( $srcset_url_args ), 3559 $args['url'] 3560 ); 3561 } 3562 } 3563 3542 3564 /** 3543 3565 * Filter the avatar data. 3544 3566 * -
src/wp-includes/pluggable.php
2162 2162 2163 2163 $url = $args['url']; 2164 2164 2165 $srcset = esc_url( $url ) . ' 1x'; 2166 foreach ( $args['srcset_array'] as $srcset_size => $srcset_url ) { 2167 $srcset .= ', ' . esc_url( $srcset_url ) . " {$srcset_size}"; 2168 } 2169 2165 2170 if ( ! $url || is_wp_error( $url ) ) { 2166 2171 return false; 2167 2172 } … … 2181 2186 } 2182 2187 2183 2188 $avatar = sprintf( 2184 "<img alt='%s' src='%s' class='%s' height='%d' width='%d' />",2189 "<img alt='%s' src='%s' srcset='%s' class='%s' height='%d' width='%d' />", 2185 2190 esc_attr( $args['alt'] ), 2186 2191 esc_url( $url ), 2192 esc_attr( $srcset ), 2187 2193 esc_attr( join( ' ', $class ) ), 2188 2194 (int) $args['size'], 2189 2195 (int) $args['size']