Fix TypeError in number_format() when handling empty string post views #1327
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a Fatal error that occurs when the post views functionality encounters empty or invalid data in PHP 8+. The issue manifests as:
Problem
The
get_post_views()function callsrestyle_text()which directly passes values to PHP'snumber_format()function. When post view metadata contains empty strings, null values, or other non-numeric data,number_format()throws a TypeError in PHP 8+ due to stricter type checking.This causes:
Solution
Enhanced
restyle_text()function:is_numeric()check to validate input before formattingImproved
get_post_views()function:Testing
The fix has been thoroughly tested with various edge cases:
''→'0'null→'0''invalid'→'0'1234→'1,234'(formatted correctly)All formatting types (type_1 through type_4) work correctly with the fix.
Fixes #1326.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.