我為客户開發了一個自定義支付網關插件,他們希望為 「鱈魚」(貨到付款) 添加類似的方法。他希望增加一種稱為 「交貨卡」 的方法。我只是複製代碼,將 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 );
如何添加此代碼?
1 、您可以將 PHP 代碼片段放置在主題或子主題的 functions.php 文件的底部 (如果是 CSS 代碼,請添加到子主題的 style.css 文件底部) 修改之前建議先備份原始文件,若出現錯誤請先刪除此代碼。
2 、 WordPress 4.9 後改進了主題編輯器,對於 CSS 代碼也可打開網站前台編輯器的 【自定義】,複製代碼添加到自定義 css 中。
此代碼是否可用?
如需幫助或是您有更好的方案想分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 用户也希望您的參與。