Сохранение дополнительных данных из товара в корзину и заказ woocommerce

Доброе время суток, не получается реализовать задачу, в определенных товарах есть инпуты, в которые пользователь вводит данные. Пытаюсь их добавлять к заказу, но реакция нулевая. Вот код, который получилось сделать

// add input
add_action( 'woocommerce_before_add_to_cart_button', 'add_calculator_inputs' );
function add_calculator_inputs() {
    echo '<input type="number" id="width-size" name="width-size" class="calculation-input width-size" placeholder="width (sm)">';
    echo '<input type="number" id="long-size" name="long-size" class="calculation-input long-size" placeholder="long (sm)">';
}

// save to meta
add_action( 'woocommerce_checkout_create_order_line_item', 'save_calculation_data_to_order_item_meta', 20, 4 );
function save_calculation_data_to_order_item_meta( $item, $cart_item_key, $values, $order ) {
    if ( isset( $_POST['long-size'] ) ) {
        $long_size = sanitize_text_field( $_POST['long-size'] );
        $item->update_meta_data( 'long_size', $long_size );
    }
    if ( isset( $_POST['width-size'] ) ) {
        $width_size = sanitize_text_field( $_POST['width-size'] );
        $item->update_meta_data( 'width_size', $width_size );
    }
}

add_action( 'woocommerce_admin_order_item_values', 'display_custom_order_item_meta', 10, 3 );

function display_custom_order_item_meta( $product, $item, $item_id ) {
    // getmeta
    $long_size = $item->get_meta( 'long_size' );
    $width_size = $item->get_meta( 'width_size' );

    // echo date
    echo '<td>' . $long_size . '</td>';
    echo '<td>' . $width_size . '</td>';
}

Подскажите, пожалуйста, что не так, ошибки не выдает, тупо ноль реакции, вп и вукомерц последних версий


Ответы (0 шт):