将 Woocommerce 订单号更改为特定位数

Change Woocommerce order number to specific number of digits

我需要将 Woocommerce 订单号从 4 位更改为 5 位。我知道我可以用这个作为前缀或后缀

add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number', 1, 2);

function change_woocommerce_order_number( $order_id, $order ) {
    $prefix = 'WC';
    $suffix = '-XY'; 
    return $prefix . $order->id . $suffix;
}

但是我怎样才能改变位数呢?

使用str_pad()PHP函数如下:

add_filter( 'woocommerce_order_number', 'customize_order_number', 10, 2 );
function customize_order_number( $order_id, $order ) {
    $digits = 5;
    $prefix = '';
    $suffix = ''; 

    return $prefix . str_pad($order_id, $digits, '0', STR_PAD_LEFT) . $suffix;
}

代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。

相关:Formatting a number with leading zeros in PHP