php - WordPress 的 Woocommerce : How to modify the order number/id?

标签 php wordpress woocommerce

我已在我的网上商店中实现了 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/

相关文章:

php - 在 WooCommerce 产品的 Hook 函数中检查产品类别

javascript - 验证不适用于动态创建的值

php - 从 GCM 中删除消息

wordpress - 菜单隐藏时无法创建新的 CPT

php - 常量 DB_PASSWORD WordPress/Opencart

php - 为 WooCommerce 类别存档页面添加产品标题标题标签

php - 如何获取表格每天的大小

php - Ubuntu 12.04 PHP 5.5 和 apache2 2.4

mysql - 如何使用位于其他服务器上的 WordPress 数据库

php - 可变产品的价格 (woocommerce)