Если вам нужно не удалять поля, а настроить или переименовать их, изменить тип, вам нужно посмотреть следующий пост: woocommerce настройка оформления заказа.
В общем вопрос не новый и имеет несколько решений, первый из которых – это использование плагина Saphali Woocommerce Russian. Я на нем не буду останавливаться очень подробно, там все предельно просто, ссылка на плагин вот. Разобраться можно по скинам, бесплатной версии плагина хватает чтоб убрать лишние поля оформления заказа, а также чтобы сделать настройку оформления этих полей, добавить новые поля, переименовать их и тому подобное.
Второй способ, на котором я хочу остановиться подробно – "как убрать поля оформления заказа без плагина?". В пошаговой инструкции ниже я покажу как удалить все поля из оформления заказа и как оставить только нужные. К ненужным я бы отнес: почтовый индекс, примечание к заказу, название компании, подъезд, этаж и т.п..
Обычно, клиенту не нравится то, что вукомерц просит ввести кучу ненужной информации на странице оформления заказа и эта проблема решается простой вставкой PHP кода в файл functions.php. Следуйте инструкции ниже и вы сможете убрать ненужные поля.
add_filter('woocommerce_checkout_fields','remove_checkout_fields'); function remove_checkout_fields($fields){ //unset($fields['billing']['billing_first_name']); //unset($fields['billing']['billing_last_name']); unset($fields['billing']['billing_company']); //unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); //unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); //unset($fields['billing']['billing_phone']); //unset($fields['order']['order_comments']); //unset($fields['billing']['billing_email']); //unset($fields['account']['account_username']); //unset($fields['account']['account_password']); //unset($fields['account']['account_password-2']); return $fields; }
Как вы поняли, здесь все поля, которые мы видим на странице оформления заказа. Если мы в этой функции комментируем вот так // строчку, значит это поле будет присутствовать на сайте, если возле поля нет символа // то поле будет удалено, и мы его не увидим в checkout. Как по мне, то это самый простой способ убрать поля из оформления заказа.
P.S. Другие названия полей вы можете получить из хтмл кода, достаточно просто фиребагом просмотреть атрибут name у ненужного input или textarea.
Смотрите кликабельный скин ниже:
Вот собственно и все что вам нужно для настройки страницы оформления заказа. Дублирую еще раз код, который позволяет управлять страницей checkout у плагина Вукомерц (пошаговая инструкция выше). Не забываем делиться ссылкой со своими друзьями в соц сетях:
Код для functions.php
add_filter('woocommerce_checkout_fields','remove_checkout_fields'); function remove_checkout_fields($fields){ unset($fields['billing']['billing_first_name']); unset($fields['billing']['billing_last_name']); unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); return $fields; }
В пошаговой инструкции больше полей и там есть пояснения что с этим кодом нужно делать.
Сначала присвойте полю параметр Необязательное (отображение этому Вы не увидите, но заказ уйдет.
$fields['billing']['billing_address_1']['required'] = false; //меняем адрес на необязательное поле
Я как раз пытаюсь сделать кастыль на js, знаний можно сказать нету в js и все с 0. Если хорошо разбиретесь и могли бы сделать с радостью бы поставил ящик пива или эквивалент. Почту мою вы должны видеть.
Добрый день, интересная статья, остался вопрос, надеюсь подскажите.
В woo на странице оформления заказа кнопка "подтвердить заказ", которая перекидывает на следующую страницу с товарами в корзине и кнопкой "оплатить". Как сделать, что бы не подтверждали заказа, а сразу попадали на страницу оплаты. Нигде не могу найти решиния на данный вопрос.
Не совсем меня поняли.
Доброго времени суток уважаемые форумчане. Дано: сайт на вордпресс + woo + робокасса. При покупке товара мы попадаем на страницу оформления заказа /checkout/, после заполнения необходимых полей нажимаем подтвердить заказ, и попадаем на еще одну страницу checkout/order-pay/344/?key=wc_order_5a586d1b19d33 с номером заказа и "Спасибо за Ваш заказ, пожалуйста, нажмите кнопку ниже, чтобы заплатить." , где нам опять нужно действие и только после этого мы попадем на страницу робокассы и сможем оплатить наш товар.
Как избавиться от лишнего шага. Что бы после нажатия "подтвердить заказ" мы сразу попали на страницу оплаты от робокассы?
Отлично выглядит! Спасибо огромное! 🙂
Всех Вам благ )
Спасибо) и правда полезная штука
но если убрать некоторые строки адреса заказ не оформляется, т.е. без адреса нельзя выполнить заказ. а жаль
Всё четко,спасибо!)
Спасибо))))
Спасибо огромное!! Помогло!!
А ничего что в "Оформлении заказа" заказ оформить не получится, потому что убраны поля?Прежде чем советовать как делать разобраться надо "как оно работает", а потом втюхивать "нерабочие костыли"