The size_format() function returns false if zero is passed as a string and returns '0 B' if zero is passed as an integer.
The root cause is a strict comparison when checking against zero (if ( 0 === $bytes ) {). If the $bytes parameter is passed as a string ('0'), the condition fails.
Proposed Fix: if ( 0 === $bytes || '0' === $bytes ) {
This behaviour was introduced in WP 4.6.0. Before v4.6.0, both 0 and '0' resulted in size_format() returning false.
Hello @marian1,
Welcome to WordPress Core's Trac.
I'm doing triage today for bugs reported on 6.6.1 or 6.6.2 (i.e. via Version) and then updating ticket information.
The strict comparison was introduced in Version 4.6 via #36635 / [37962]. Updating the Version to 4.6.
Hi @marian1
Welcome to the Core Trac!
Thanks for the detailed information.
I have added the patch for the same.
This ticket was mentioned in PR #7248 on WordPress/wordpress-develop by @narenin. Trac ticket: https://core.trac.wordpress.org/ticket/61930