Making WordPress.org

Ticket #7620: 7620.diff

File 7620.diff, 1.9 KB (added by dufresnesteven, 5 months ago)
  • class-template.php

    class Template { 
    482482                                }
    483483                        );
    484484
    485485                        $banner_rtl    = $banner_rtl    ? array_shift( $banner_rtl )    : false;
    486486                        $banner_2x_rtl = $banner_2x_rtl ? array_shift( $banner_2x_rtl ) : false;
    487487                }
    488488
    489489                // Resolve the URLs.
    490490                $banner        = $banner        ? self::get_asset_url( $plugin, $banner )        : false;
    491491                $banner_2x     = $banner_2x     ? self::get_asset_url( $plugin, $banner_2x )     : false;
    492492                $banner_rtl    = $banner_rtl    ? self::get_asset_url( $plugin, $banner_rtl )    : false;
    493493                $banner_2x_rtl = $banner_2x_rtl ? self::get_asset_url( $plugin, $banner_2x_rtl ) : false;
    494494
    495495                switch ( $output ) {
    496496                        case 'html':
    497                                 $id    = "plugin-banner-{$plugin->post_name}";
    498                                 $html  = "<style type='text/css'>";
    499                                 $html .= "#{$id} { background-image: url('{$banner}'); }";
    500                                 if ( ! empty( $banner_2x ) ) {
    501                                         $html .= "@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 120dpi) { #{$id} { background-image: url('{$banner_2x}'); } }";
    502                                 }
    503                                 $html .= '</style>';
    504                                 $html .= "<div class='plugin-banner' id='{$id}'></div>";
    505 
    506                                 return $html;
     497                                return  sprintf(
     498                                        '<div class="plugin-banner" id="%1$s"><img decoding="async" fetchpriority="high" src="%2$s" %3$s %4$s></div>',
     499                                        "plugin-banner-{$plugin->post_name}",
     500                                        $banner,
     501                                        ! empty( $banner_2x ) ? "srcset='$banner 772w, $banner_2x 1544w'" : '',
     502                                        ! empty( $banner_2x ) ? 'sizes="(min-width: 900px) 1544px, 772px"' : ''
     503                                );
    507504                                break;
    508505
    509506                        case 'raw':
    510507                        case 'raw_with_rtl':
    511508                        default:
    512509                                return compact( 'banner', 'banner_2x', 'banner_rtl', 'banner_2x_rtl' );
    513510                }
    514511        }
    515512
    516513        /**
    517514         * Retrieve the Plugin asset that matches the requested resolution, locale, and RTL.
    518515         *
    519516         * @static
    520517         *
    521518         * @param \WP_Post $plugin     The plugin.