Index: wp-admin/css/list-tables.css =================================================================== --- wp-admin/css/list-tables.css (revision 29267) +++ wp-admin/css/list-tables.css (working copy) @@ -1303,10 +1303,10 @@ } .plugin-card .desc { - clear: left; } .plugin-action-buttons { + clear: right; float: right; margin-left: 2em; margin-bottom: 1em; @@ -1350,6 +1350,13 @@ clear: right; } +.plugin-icon { + width: 128px; + height: 128px; + float: left; + margin: 0 1em 1em 0; +} + /* ms */ /* Background Color for Site Status */ .wp-list-table .site-deleted { Index: wp-admin/includes/class-wp-plugin-install-list-table.php =================================================================== --- wp-admin/includes/class-wp-plugin-install-list-table.php (revision 29267) +++ wp-admin/includes/class-wp-plugin-install-list-table.php (working copy) @@ -98,7 +98,7 @@ $args = array( 'page' => $paged, 'per_page' => $per_page, - 'fields' => array( 'last_updated' => true, 'downloaded' => true ), + 'fields' => array( 'last_updated' => true, 'downloaded' => true, 'icons' => true, 'banners' => true ), // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results. 'locale' => get_locale(), 'installed_plugins' => $this->get_installed_plugin_slugs(), @@ -420,11 +420,16 @@ * @param array $plugin The plugin currently being listed. */ $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin ); + + $plugin_icon_url = $plugin['icons']['default']; + if ( !empty( $plugin['icons']['low'] ) ) + $plugin_icon_url = $plugin['icons']['low']; ?>