我們經常在WordPress看到社群求助,都是關於WordPress突然顯示錯誤,基本上大部份錯誤都可以從php的錯誤紀錄找到原因。舉例說,如果升級插件之後,從php錯誤看到 SYNTAX ERROR,比較大機會是需要更新php版本。
這次我們透過分享協助客戶修復一個老舊WordPress的真實經驗,讓各位用家可以了解面對錯誤的一些應對方法。
先說明我們的立場:不鼓勵長期使用老舊WordPress,因為安全漏洞太多,那怕我們有機制讓它比較安全,但只是相對。
長遠應該是找網頁設計廠商升級或者重做網站,而且建議找願意長期提供網站保養的廠商。保養定義是廠商有確實協助更新網站軟體,而不是只有收服務費而已。
這位客戶申辦了我們的虛擬主機方案,然後轉寄了舊廠商提供的網站壓縮檔給我們。導入之後,網站前台顯示完全正常,後台可以看到是一個發行將近十年的WordPress 4.5。
問題是,客戶反映網站頁面不能修改,後台打開修改頁面是空白的。從php錯誤紀錄,我們看到以下錯誤
PHP Fatal error: Call to undefined method WP_Screen::is_block_editor()
這個錯誤訊息顯示的 is_block_editor 功能,是WordPress 5.x 以後才有的,為甚麼會在一個 4.5版本的WordPress 出現呢?

我們檢查了網站插件的時間,網站應該是 2018年部署的。但不知道是舊廠商還是客戶,在2021年中把部份插件更新了,而新版本插件需要WordPress 5.x才能用,所以估計在 2021年後,其實網站已經失去了網站更新功能。
知道這樣的原因之後,我們嘗試把WordPress升級到 5.x 版本,問題就解決了。至於為甚麼不是升級到最新版本,是因為網站主題不兼容最新版本WordPress,沒有辦法。一般協助客戶搬家,如果WordPress版本太舊其實我們也會嘗試幫客戶更新一下。但如果太舊的話我們只能加強其它防護設定取代更新。
