我為客戶開發了一個自定義支付閘道器外掛,他們希望為 “鱈魚”(貨到付款)新增類似的方法。他希望增加一種稱為 “交貨卡” 的方法。我只是複製程式碼,將 PHP 新增到一個檔案中,製作了一個外掛,並給他外掛 zip 檔案。一切都很好,直到他做了一個測試結帳。

下訂單後顯示的錯誤

 Fatal error: Call to undefined function wc_get_order() in /home/XXXXXXX/public_html/wp-content/plugins/woocommerce-gateway-carddelivery-plugin/woocommerce-gateway-carddelivery-plugin.php on line 201  

修復:wc_get_order()僅對 WooCommerce 2.2+有效

這很簡單 客戶端仍在使用 WooCommerce 2.1,新訂單的名稱不同。從 WooCommerce 2.2 中,使用 wc_get_order()建立訂單。

我只是用這個代替:

$order = wc_get_order( $order_id ); 

有了這個:

$order = new WC_Order( $order_id ); 


可以在哪裡新增此程式碼?

您可以將 PHP 程式碼片段放置在主題或子主題的 functions.php 檔案的底部(如果是 CSS 程式碼,請新增到主題的 style.css 檔案底部),修改之前建議先備份原始檔案,若出現錯誤請先刪除此程式碼。


這段程式碼是否正常可用?

或者是您有更好的解決方案想要分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 使用者也希望您的參與。


需要關於 WooCommerce 的幫助?

請觀看我們提供的免費影片教程或到薇曉朵 WooCommerce 中文論壇提問,會有專業技術團隊提供相關幫助。