出錯網站 plant.sayit.com.tw

出錯外掛 QR Code Composer 1.8.0

網站後台點擊「立即更新」時,正常情況應該會留在外掛頁面直接完成更新,但這次卻會跳轉到:

/wp-admin/update.php?action=upgrade-plugin...

原因是 QR Code Composer 外掛的後台 Footer 程式寫法有問題

它掛載了 WordPress 的:

admin_footer_text

Filter,但函式沒有正確接收並回傳 $text,導致 Footer 文字變成:

NULL

之後另一個外掛的函式要求收到的是:

string $text

因此產生型別衝突,讓 WordPress 後台 Footer 執行流程中斷。

Footer 沒有正常執行後,WordPress 用來處理外掛 AJAX 更新的:

wp-admin/js/updates.min.js

也就沒有被載入。

最後造成:

wp.updates = undefined

因此 WordPress 無法使用 AJAX 更新外掛,只能改走傳統的:

update.php?action=upgrade-plugin

更新流程。

問題原因

簡單來說就是:

QR Code Composer
↓
admin_footer_text 回傳 NULL
↓
與其他外掛的 string 型別發生衝突
↓
WordPress 後台 Footer 中斷
↓
updates.min.js 沒載入
↓
AJAX 外掛更新功能失效
↓
點更新會跳到 update.php

解決方式

QR Code Composer 外掛升級 1.8.0 > 3.0.5 也無效

目前最快的方法是直接停用

這個問題本質上可以記錄為:

WordPress admin_footer_text Filter 回傳 NULL,造成外掛間 PHP 型別相容性錯誤,進而導致後台 Footer scripts 未載入,讓 Shiny Updates / AJAX 外掛更新失效。

最後修改日期: 2026 年 9 月 9 日

作者