From 537fb97f48c8c69ba01271a1ba3d8627d942daba Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 17 Sep 2026 10:14:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(settings):=20=E5=85=85=E5=80=BC=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E9=80=89=E9=A1=B9=E4=B8=BA=E6=95=B0=E7=BB=84=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E8=A7=A6=E5=8F=91=E6=95=B0=E7=BB=84=E8=BD=AC?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit get_payment_recharge_settings() 原先先对 pay_balance_product 做强转、再判 is_array:当该选项以数组保存时会触发 PHP "Array to string conversion" 警告, 且强转结果随即被覆盖,属无效语句。改为按类型二选一转换,输出行为不变。 --- src/Settings/PaymentRuntime.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Settings/PaymentRuntime.php b/src/Settings/PaymentRuntime.php index 154167a1..1a30c6d2 100644 --- a/src/Settings/PaymentRuntime.php +++ b/src/Settings/PaymentRuntime.php @@ -81,10 +81,12 @@ class PaymentRuntime { public static function get_payment_recharge_settings(): array { $settings = Settings::get_all(); - $packages = (string) ($settings['pay_balance_product'] ?? "30|30|入门包\n98|108|推荐包"); - if (is_array($settings['pay_balance_product'] ?? null)) { - $packages = self::format_product_lines((array) $settings['pay_balance_product']); - } + // 该选项可能存字符串(旧格式)或数组(结构化保存):先判类型再转换, + // 避免对数组做强转触发 "Array to string conversion" 警告。 + $raw_packages = $settings['pay_balance_product'] ?? null; + $packages = is_array($raw_packages) + ? self::format_product_lines($raw_packages) + : (string) ($raw_packages ?? "30|30|入门包\n98|108|推荐包"); $desc = sanitize_textarea_field((string) ($settings['pay_balance_desc'] ?? '')); return [