fix: PHP 8.3 TypeError in dashboard top-articles SUM casts + CHANGELOG (#32)
- admin/partials/dashboard.php lines 108-109: cast $article->total_clicks and $article->total_unique to (int) before number_format(). Both are SUM() aggregate columns from $wpdb->get_results() returned as strings; same PHP 8.3 TypeError vector as the articles-list fix. - tests/unit/DashboardTopArticlesCastTest.php: two unit tests mirroring the ArticlesListTotalCastTest pattern (numeric string + null cases). - CHANGELOG [2.5.1]: fix (# 31) typo -> (#32); add dashboard fix entry. - $topic['total_clicks'] at line 137 is safe (already cast to int in Peptide_News_Analytics_Reports::get_popular_topics() at assignment). - $total_clicks/$total_unique at lines 48/52 are safe (array_sum coerces). Agent-Session: engineer-infra-dashboard-cast-fix-20260617
This commit is contained in:
@@ -7,7 +7,8 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
||||
## [2.5.1] - 2026-06-17
|
||||
|
||||
### Fixed
|
||||
- PHP 8.3 `TypeError` on Articles admin page: `number_format()` rejects the numeric string returned by `$wpdb->get_var()`. Cast `$total` to `(int)` at point of assignment in `admin/partials/articles-list.php` (#31).
|
||||
- PHP 8.3 `TypeError` on Articles admin page: `number_format()` rejects the numeric string returned by `$wpdb->get_var()`. Cast `$total` to `(int)` at point of assignment in `admin/partials/articles-list.php` (#32).
|
||||
- PHP 8.3 `TypeError` on Analytics Dashboard page: `number_format()` rejects SUM aggregate strings returned by `$wpdb->get_results()`. Cast `$article->total_clicks` and `$article->total_unique` to `(int)` inline in `admin/partials/dashboard.php` (same-class fix, no PR number — follow-on to #32).
|
||||
|
||||
## [2.5.0] — 2026-06-16
|
||||
|
||||
|
||||
Reference in New Issue
Block a user