[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