Пользовательские поля ввода Woocommerce

У меня есть магазин WooCommerce с двумя продуктами, которые входят во многие варианты, это браслеты.

Клиент может настроить продукт, выбрав цвет, размер, тип полосы, и они могут добавлять текст в полосу, если захотят.

Я создал переменный продукт с различными выпадающими списками, и это хорошо, но я застрял, пытаясь добавить текстовое поле, чтобы пользователь мог написать какой-то текст, который затем будет сохранен и пропущен через поле оформления заказа. Файл, который нужно отредактировать, это: variable.php, но я не уверен, как этого добиться.

Я добавил атрибут текстового поля в переменную product, но он отображает выпадающий список на внешнем интерфейсе, и я не хочу, чтобы это делалось, мне нужно отобразить 2 текстовых поля, которые принимают пользовательский ввод, который затем сохраняется.

Я нашел этот вопрос: Пользовательский текст продукта Woocommerce что очень похоже на то, что я хочу создать.

Я хочу делать все это в коде, не покупая надстройки, и я постоянно сталкиваюсь с решениями с плагинами, которые необходимо приобрести. Мне просто нужна небольшая помощь в этом, если кто-то может, это было бы здорово, так как я смотрел онлайн уже пару дней, и я уверен, что это не сложно, мне просто нужна небольшая помощь. Спасибо

4

Решение

Добавление этого ответа, чтобы другие могли его найти:

Я настоятельно рекомендую сэкономить время, просто купив этот плагин, это всего 49 долларов. Однако, если вы действительно хотите выяснить это для себя; Вот кое-что, чтобы вы начали. Вам нужно подключиться к следующим фильтрам / действиям:

  • woocommerce_before_add_to_cart_button (чтобы добавить поля в форму)
  • woocommerce_add_cart_item_data (для отправки данных поля)
  • woocommerce_get_cart_item_from_session (чтобы добавить данные в сеанс)
  • woocommerce_get_item_data (для отображения данных на странице корзины)
  • woocommerce_add_order_item_meta (чтобы добавить его в заказ, чтобы он отображался в области администратора)
13

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]