Поддержка WooCommerce Как изменить нумерацию заказов вида: год, месяц, день, час, минута, секунда?

  • в woocommerce по умолчанию нумерация заказов вида 1,2,3…. на нужно что-то вроде 190208-151710 (год, месяц, день, — час, минута, секунда (+ хорошо бы еще 10 доля сек))
    Нужно изменить именно нумерацию, а не прификс. и изменяться должны заказы именно в базе данных (на сколько я понимаю).
    на этом форуме https://www.tychesoftwares.com/how-to-add-prefix-or-suffix-to-woocommerce-order-number/
    прочитал что можно использовать хук woocommerce_new_order_data но тема не раскрыта.
    Может кто знает примеры подобной реализации?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • прочитал что можно использовать хук woocommerce_new_order_data но тема не раскрыта.

    Что же там раскрывать-то еще?

    для вашего примера:

    ...
    $prefix = date('Ymd-His');
    $new_order_id = $prefix .'-' .$order_id;
    ...
    

    @wpgear Я новичок)) пробую так
    add_filter( ‘woocommerce_new_order_data’, ‘filter_function_name_6819’ );
    function filter_function_name_6819( $array ){
    // $prefix = date(‘Ymd-His’);
    $prefix = time();
    $new_order_id = $prefix . $order_id;
    $array = $new_order_id;
    return $new_order_id;
    }
    выдает ошибку не удалось создать заказ((

    И так тоже ошибка
    add_filter( ‘woocommerce_new_order_data’, ‘filter_function_name_6819’ );
    function filter_function_name_6819( $new_order_id ){
    // $prefix = date(‘Ymd-His’);
    $prefix = time();
    $new_order_id = $prefix . $order_id;
    $array = $new_order_id;
    return $new_order_id;
    }
    Что делаю не так?

    • Ответ изменён 5 лет, 2 месяца назад пользователем bezopasnosdelka.

    Что делаю не так?

    не соблюдаете пункт 14

    Дублирую вопрос с Правильным размещением фрагментов кода
    @wpgear Я новичок)) пробую так

    add_filter( ‘woocommerce_new_order_data’, ‘filter_function_name_6819’ );
    function filter_function_name_6819( $array ){
    // $prefix = date(‘Ymd-His’);
    $prefix = time();
    $new_order_id = $prefix . $order_id;
    $array = $new_order_id;
    return $new_order_id;
    }

    Или так

    add_filter( ‘woocommerce_new_order_data’, ‘filter_function_name_6819’ );
    function filter_function_name_6819( $new_order_id ){
    // $prefix = date(‘Ymd-His’);
    $prefix = time();
    $new_order_id = $prefix . $order_id;
    $array = $new_order_id;
    return $new_order_id;
    }

    выдает ошибку не удалось создать заказ((
    Что делаю не так?
    И главное не прификс надо менять а именно номер заказа, при чем в базе данных. Вот только как? может какой то другой хук использовать или по другому использовать этот хук?

    • Ответ изменён 5 лет, 2 месяца назад пользователем bezopasnosdelka.
    • Ответ изменён 5 лет, 2 месяца назад пользователем bezopasnosdelka.
    • Ответ изменён 5 лет, 2 месяца назад пользователем bezopasnosdelka.
Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Как изменить нумерацию заказов вида: год, месяц, день, час, минута, секунда?» закрыта для новых ответов.