[wp-trac] [WordPress Trac] #56431: Fatal Error on Update Page When a Plugin's Icon is Not Set

WordPress Trac noreply at wordpress.org
Sat Feb 7 10:04:08 UTC 2026


#56431: Fatal Error on Update Page When a Plugin's Icon is Not Set
-------------------------------------------------+-------------------------
 Reporter:  scott.deluzio                        |       Owner:  (none)
     Type:  defect (bug)                         |      Status:  new
 Priority:  normal                               |   Milestone:  Awaiting
                                                 |  Review
Component:  Upgrade/Install                      |     Version:
 Severity:  normal                               |  Resolution:
 Keywords:  needs-patch dev-feedback reporter-   |     Focuses:
  feedback                                       |
-------------------------------------------------+-------------------------
Changes (by sajib1223):

 * keywords:  needs-patch needs-testing dev-feedback reporter-feedback =>
     needs-patch dev-feedback reporter-feedback


Comment:

 == Bug Reproduction Report

 === Environment
 - WordPress: 7.0-alpha-61215-src
 - PHP: 8.2.29
 - Server: nginx/1.27.5
 - Database: mysqli (Server: 8.4.7 / Client: mysqlnd 8.2.29)
 - Browser: Firefox 147.0
 - OS: Windows 10/11
 - Theme: Twenty Twenty-Four 1.4
 - MU Plugins: None activated
 - Plugins:
   * Classic Editor 1.6.7
   * Test Reports 1.2.1
   * Ticket #56431 - Test Icons Fatal Error 1.0.0

 === Steps taken
 1. Added following custom plugin to change icons object to array

 {{{#!php
 <?php
 /**
  * Plugin Name: Ticket #56431 - Test Icons Fatal Error
  * Plugin URI: https://buffercode.com/plugin/frontend-dashboard
  * Description: Removes icons property from plugin update data to
 reproduce the fatal error on Dashboard > Updates page.
  * Version: 1.0.0
  * Author: Shazzad
  * Author URI: https://shazzad.me
  */
 if (! defined('ABSPATH')) {
         die();
 }

 add_filter('site_transient_update_plugins',
 'ticket_56431_break_plugin_icons');

 function ticket_56431_break_plugin_icons($transient)
 {
         if (empty($transient->response)) {
                 return $transient;
         }

         foreach ($transient->response as $plugin_file => &$plugin_data) {
                 if (isset($plugin_data->icons) &&
 is_array($plugin_data->icons)) {
                         // Convert icons array to stdClass to simulate the
 bug.
                         $plugin_data->icons = (object)
 $plugin_data->icons;
                 }
         }

         return $transient;
 }
 }}}
 2. Changed a Installed plugin version (Hello Dolly) to a lower version,
 from 1.7.2 to 1.7.1.
 3. Visited `/wp-admin/update-core.php` and scroll to Plugins section.
 4. ✅ Error condition occurs (reproduced).

 === Expected outcome
 - Array icons should not produce Fatal Error. At Best, the plugin icon
 would appear unset/missing/default.

 === Supplemental Artifacts

 Preview of error:

 [[Image(https://files.catbox.moe/4mn56a.png)]]

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/56431#comment:14>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list