本文重點:當文章及頁面突然無法更新或發佈時,逐一排查外掛,此次實例:藍新。
繼上次的WP大小事(一),好不容易校正了登入問題,本來一切正常,發布頁面時,突然跑出「發布時發生錯誤」,連更新已有的頁面也顯示「更新時發生錯誤」,這樣的情況也發生在文章上……,但昨日還能正常地更新頁面,無論是使用elementor(無法進入)、或使用傳統編輯器都一樣的情形,清理緩存或換瀏覽器也無法排除。在此過程區間,我並未安裝其他外掛或動到其他設定,就突然產生了這樣的狀況;以防萬一,我也嘗試了關閉離最近的外掛們,也無法排除問題。
爬文找不到符合得答案後,直接詢問FB社團-WordPress Taiwan 正體中文的前輩們,感謝前輩指路:試試看關掉所有外掛或換掉佈景主題。最後一個一個停用測試,發現是藍新金流造成的問題,停用該外掛就好了。
但這是件很弔詭的事情,藍新金流我早就已經啟用許久,個人懷疑是因為某些外掛自動更新造成的外掛衝突,或是佈景主題帶來的設計缺陷問題,我其實不滿我的佈景主題已久…..,後面的WP大小事(三)將會提到他對elementor帶來了什麼影響。另外也表示外掛可能盡量不要啟用自動更新,而是定期手動更新,但更新前切記要記得備份,一旦出狀況才能立刻還原。還有最重要的,用不到的外掛占用系統資源,又如同一個未爆彈,就停用或刪掉吧!
Sombra 2022.05.14
於2022.05.16補充:
有個問題其實並未解決,那就是-我真的需要使用藍新金流這個外掛怎麼辦?!
這邊查到的方法>>>參考網站(連結),可以透過外掛編輯器(外掛-外掛編輯器)修正藍新的程式缺陷,修正class-newebpay.php,用條件判斷式迴避問題;因為該網站相當詳盡,就不另外贅述。針對紅字部分補上條件式及補上更動資訊(Author我保留原參考網址的作者名字:Jerry,除了致敬外,方便未來有問題可以反向查找);並請注意作者本身列的程式碼只是局部,切勿直接全部拷貝貼上,請針對紅字更新即可;更新前,請務必留存原有程式碼,方便出問題時校正,並於每次外掛更新時,留意原有問題是否依然存在,是,則再次手動校正。
步驟1:更新修訂訊息,以區別原本及校訂版(請務必備份原有的程式碼留存,以避免突發狀況)
<?php
/**
* newebpay Payment Gateway
* Plugin URI: http://www.newebpay.com/
* Description: 藍新金流收款/物流 模組 修復了 elementor 開啟會有 wc_get_chosen_shipping_method_ids 錯誤的問題
* Version: 99.99.99
* Author URI: http://www.newebpay.com/
* Author: 藍新金流 newebpay 修改過 By Jerry
* Plugin Name: 藍新金流
* @class newebpay
步驟2:找到螢光字標示得區塊,於else if中加入紅字串
// 選擇藍新金流超商取貨後 payment只輸出藍新金流
function newebpay_alter_payment_gateways($list) {
if(isset($_GET['pay_for_order']) && isset($_GET['key'])) {
$order_id = wc_get_order_id_by_order_key($_GET['key']);
$order = wc_get_order($order_id);
if($order->has_shipping_method('newebpay_cvscom')) {
$list = array('WC_newebpay');
}
} elseif(!is_admin()) { //後台無wc_get_chosen_shipping_method_ids function
if ( !function_exists( 'wc_get_chosen_shipping_method_ids' ) ) {
return $list;
}
$chosen_shipping = wc_get_chosen_shipping_method_ids();
//判斷購物車內商品是否全為虛擬商品 全為虛擬商品時會無法選擇物流方式 導致session的chosen_shipping會維持上次所選
衝突版本:
(Jerry) 原文版:wordpress 核心版本為 5.8.1 , Elementor 版本為 3.4.3 ,藍新1.0.3
(Sombra)我的:wordpress 核心版本為 5.9.3 , Elementor 版本為 3.3.1 ,藍新1.0.2
校正後藍新版本將變為我們自訂的99.99.99,以顯示為自訂版
參考來源:
1、WordPress Taiwan 正體中文(FB社團)
https://www.facebook.com/photo/?fbid=5486047938073687&set=gm.5582778695082858
2、育心文具行 by Jerry
https://hipster.crazyjerry.studio/post/293/