如何为WooCommerce生成随机订单号?

时间:2018-10-20 02:30:21

标签: php wordpress woocommerce

是否可以为WooCommerce订单生成随机订单号,如 R5U14D8PLA ?所有的插件都是连续的或crc32哈希数字,但是找不到生成随机订单号(数字+字母)的方法

2 个答案:

答案 0 :(得分:0)

WooCommerce提供了过滤器woocommerce_order_number。此过滤器应用于文件get_order_number()中的includes/wc-abstract-order.php

在这里您可以附加功能并为WooCommerce订单号创建前缀或后缀。

请在您当前的活动主题 functions.php 文件中添加以下代码:

add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );

function change_woocommerce_order_number( $order_id ) {

    $prefix = 'R5U'; //you can create a random number for prefix
    $suffix = 'D8PLA'; //you can create a random number for suffix

    $order_id = str_ireplace("#", "", $order_id);//remove # before from order id

    $new_order_id = $prefix . $order_id . $suffix;
    return $new_order_id;
}

希望对您有帮助。

答案 1 :(得分:0)

可能会晚一点,但这是我的看法。使用函数rand(min,max)生成随机输出。

add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );

function change_woocommerce_order_number( $order_id ) {

    $prefix = 'UK'; //you can create a random number for prefix
    $suffix = 'INV'; //you can create a random number for suffix
    $order_id = str_ireplace("#", "", $order_id);//remove # before from order id
    $digits = rand(10000, 99999);

    $new_order_id = $prefix . $order_id . $digits;
    return $new_order_id;
}