我已在我的网上商店中实现了 WooCommerce,并连接了 CorvusPay 网关以进行在线支付。
现在我们遇到的问题是 Corvus 要求我的订单号包含字符(大写和小写)以及数字。
我已经看到并尝试了许多关于如何在 Wordpress 中更改订单号的插件和过滤器,但是在处理订单并将其发送到 Corvus 时,该号码仍然是相同的旧帖子 ID。
我知道 WooCommerce 使用 Wordpress 帖子 ID 来创建初始订单号,但我如何更改此设置?
我如何修改 WooCommerce,以便它使用特定的订单号生成方法,即我希望订单号为例如“Kr-12345”而不是“12345”。
我需要一种方法来改变其数字生成方法,而不是使用像 Sequential Order Numbers 这样的插件,因为这只会改变我的 Wordpress 页面中的数字。
最佳答案
您可以使用 woocommerce_order_number
Hook 来过滤您想要的值。 This guide解释如何使用它来简单地添加前缀和后缀。
add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );
function change_woocommerce_order_number( $order_id ) {
$prefix = 'VK/';
$suffix = '/TS';
$new_order_id = $prefix . $order_id . $suffix;
return $new_order_id;
}
所以看起来这会满足您的要求。如果不需要,您可以删除后缀,或者对 $new_order_id 的格式进行必要的调整。
要记住的另一件事是,如果您使用像 PayPal for WooCommerce 这样的插件它有一个选项来设置内置的发票前缀。
关于php - WordPress 的 Woocommerce : How to modify the order number/id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319712/