AS = акроним компании, Y = год заказа, SNo (генерируемый последовательный номер/индекс)Смотрите ниже попытки кодирования:
Код: Выделить всё
// Adding Prefix and Date
add_filter( 'woocommerce_order_number', 'ts_change_woocommerce_order_number', 1, 2 );
function ts_change_woocommerce_order_number( $order_id ) {
$prefix = 'AS';
$order = wc_get_order( $order_id );
$order_date = $order->get_date_created();
$display_date = $order_date->date('Y'); // Format date as 'y/m/d'
$new_order_id = $prefix . '-' . $display_date . '-' . $order_id; // Add a hyphen between date and order ID
return $new_order_id;
}

Добавить для этого кода генерации SNo в отдельном экземпляре фрагмента кода:
Код: Выделить всё
// Generate SNo
add_filter( 'woocommerce_checkout_create_order', 'ts_save_order_number_metadata' );
function ts_save_order_number_metadata( $order ) {
$digits = 4; // Number of desired digits for the number part
$data = get_option('wc_sequential_order_number'); // Get order number sequential helper registered data
$number = isset($data['sequential']) ? intval($data['sequential']) + 1 : 1;
$data['sequential'] = $number;
// Update order number sequential helper registered data
update_option('wc_sequential_order_number', $data);
// Add order number as custom metadata
$order->add_meta_data('_order_number', str_pad($number, $digits, '0', STR_PAD_LEFT), true);
}
// Read the order number from metadata
add_filter( 'woocommerce_order_number', 'ts_define_order_number', 10, 2 );
function ts_define_order_number( $order_id, $order ) {
if ( $order_number = $order->get_meta('_order_number') ) {
$order_id = $order_number;
}
return $order_id;
}

Снимок экрана – показано, как 2 кода перечислены в разделе Код Фрагменты:

– это отдельно...
Можно ли как-нибудь объединить кодировки, чтобы они работали вместе?
Может быть, можно включить новый форматированный номер заказа где-нибудь во втором набор (SNo Generation) кодировки? ($new_order_number = $prefix . '-' . date('Y') . '-' . $order_number) ?
Спасибо. Цените мнение экспертов по этому поводу.

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-possible