fix: PHP 8.3 TypeError in articles-list total count (int cast)

number_format() in PHP 8.3 strictly requires int|float; $wpdb->get_var()
returns string|null. Cast $total to (int) at point of assignment in
admin/partials/articles-list.php to fix HTTP 500 on Articles admin page.

Also add PHPUnit test covering the string->int cast contract.

Fixes #31. Version bump 2.5.0 -> 2.5.1.

Agent-Session: fix-articles-500-20260617
This commit is contained in:
peptiderepo
2026-06-17 05:50:50 +00:00
parent f1c5a295a4
commit bf87c82f69
4 changed files with 40 additions and 3 deletions

View File

@@ -19,7 +19,7 @@ $per_page = 25;
$offset = ( $page - 1 ) * $per_page;
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$total = $wpdb->get_var( "SELECT COUNT(*) FROM {$table}" );
$total = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$table}" );
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$articles = $wpdb->get_results( $wpdb->prepare(
"SELECT * FROM {$table} ORDER BY published_at DESC LIMIT %d OFFSET %d",