【问题标题】:How to add an additional unique reference number to woocommerce orders如何为 woocommerce 订单添加额外的唯一参考号
【发布时间】:2020-06-30 03:18:03
【问题描述】:

我想知道如何为我的 WooCommerce 订单添加一个唯一的随机数,该随机数对客户和 WooCommerce 订单可见。

例如, 当有新订单时。它将具有通常的订单 ID 和附加的参考 ID。 对于每个订单,此参考编号必须是唯一的。因此,可以用作识别每个订单的一种方式。

提前致谢:)

【问题讨论】:

  • 我计划用它来为我们的客户创建一个自定义的兑换流程。它将用于我们团队和客户的运营。客户可以在付款后使用此参考 ID 与我们联系。另外,我们可以为这个参考 ID 设置一个有效性吗?

标签: wordpress woocommerce orders


【解决方案1】:

基本思想是生成一个随机数并将其添加为订单元。这将类似于以下内容。这可能不是一个完美的,但会引导你。

function create_reference_id( $order, $data ){
    $random = write_function_for_random_id(); //Write the function to create random ID
    $order->update_meta_data( 'custom_id', $random ); // replace custom_id with your meta key name.
}
add_action('woocommerce_checkout_create_order', 'create_reference_id', 10, 2);

这会将 ID 添加到 WooCommerce 订单对象。然后您需要编写代码以在电子邮件中显示 ID。

更新

对于随机数函数,您可以使用订单 id 和 wp_rand() 函数返回的值的组合。 如果是这种情况,那么您需要编写如下。

function create_order_reference_id( $order_id, $data ){
    $random = $order_id.'_'.wp_rand(1, 1000);
    $order = wc_get_order( $order_id );
    $order->update_meta_data( 'custom_id', $random );
    $order->save();
}
add_action('woocommerce_checkout_update_order_meta', 'create_order_reference_id', 10, 2);

【讨论】:

  • 你上面写的这段代码是一个WordPress函数wp_rand()的函数定义。
  • 感谢@melvin,但我还是个新手,还在学习 woo 商务开发。我可以知道用于生成随机 ID 的函数吗?我可以使用这个[链接]developer.wordpress.org/reference/functions/wp_rand
  • @DebashishPashaBairagi WooCommerce 订单 ID 将是唯一的。因此,您可以使用订单 ID 和函数返回的数字的组合。查看我的答案的更新部分
  • 谢谢。我知道 woocommerce ID 也是唯一的,但团队坚持使用不同的参考 ID。将尝试实施您的答案。
  • 我不是要使用订单 ID。假设如果订单 id 是 310,您可以使用 WooCommerce ID + wp_rand(1,1000) 这将为您提供一个新的数字,如 31045。这种方法与生成一个新的随机 ID @DebashishPashaBairagi 相同
猜你喜欢
  • 2014-10-26
  • 1970-01-01
  • 2014-01-20
  • 2021-07-10
  • 1970-01-01
  • 2015-08-14
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多