我为客户开发了一个自定义支付网关插件,他们希望为 “鳕鱼”(货到付款)添加类似的方法。他希望增加一种称为 “交货卡” 的方法。我只是复制代码,将 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 中文论坛提问,会有专业技术团队提供相关帮助。