@sergo573

Как передать значение поля в детали заказа woocommerce?

Приветствую всех.

Такой вопрос: Создал с помощью acf поле повторитель для товара, на странице товара вывел его в виде select, т.е. клиент может выбрать нужное значение, из списка который я укажу в админке.

Сам вопрос: Как теперь передать это выбранное значение из select в "Детали заказа" Woocommerce?... Куда копать? Подскажите.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
@sergo573 Автор вопроса
В общем, если кому понадобится... пошёл таким путем:
При нажатии на кнопку в корзину, срабатывает js, который через ajax отправляет выбранное значение в функцию, которая записывает выбранное значение в поле товара:
add_action("wp_ajax_obrabotka", "k_ajax_obrabotka"); 
add_action("wp_ajax_nopriv_obrabotka", "k_ajax_obrabotka");
function k_ajax_obrabotka(){
$idproduct = $_POST['idproduct'];
$znachenie = $_POST['znachenie'];
update_post_meta( $idproduct, '_znachenie', esc_attr( $znachenie ) );
}


И при создании заказа, добавляем это значение к товару:
add_action('woocommerce_checkout_create_order_line_item', 'save_file_type_as_order_item_meta', 20, 4);
function save_file_type_as_order_item_meta($item, $cart_item_key, $values, $order) {
    if ( $nashe_znachenie = $values['data']->get_meta('_znachenie') ) {
        $item->update_meta_data( 'Значение', $nashe_znachenie );
    }
}


В итоге получилось то что нужно, но это сработает, если будет в одно время один заказ, если будет кучу заказов в одно время, то будет путаница. Но на данный момент такой вариант меня устраивает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы