是否可以为WooCommerce订单生成随机订单号,如 R5U14D8PLA ?所有的插件都是连续的或crc32哈希数字,但是找不到生成随机订单号(数字+字母)的方法
答案 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;
}