Способ доставки Woocommerce
Необходимо разработать плагин Самовывоза.
Требования:
Админка
В админке, на странице woocommerce -> натройки -> доставка - должен появиться способ доставки "Pickup Point"
На странице настроек плагина должны быть следующие настройки:
1. Включить плагин - чекбокс
2. Название способа доставки - текст (который будет выводиться на странице оформления заказов в разделе "способ доставки")
3. Кнопка "Сохранить изменения"
4. Блок "Населенные пункты". В этом блоке должна быть предусмотрена возможность добавлять населенные пункты. Населенные пункты вводятся вручную в input type="text", т.е. туда можно написать все что угодно.
5. Блок "Пункты самовывоза". В этом блоке добавляются пункты самовывоза с привязкой к городу: текстовое поле, в котором, к примеру пишем "ул. Акакия Бздрищенко, д.8" и рядом селект, в котором можно выбрать населенный пункт из добавленных ранее в блоке "Населенные пункты".
Если населенных пунктов нет, то пункты самовывоза указываются без привязки к городу.
Насленные пункты и Пункты самовывоза должны сортироваться простым перетаскиванием (drag&drop)
Страница оформления заказа site.com/checkout
В блоке выбора способа доставки появляется пункт "Самовывоз" (вернее название, которое мы задали в админке)
Под название появляется селект с выбором "Населенного пункта", а под ним селект с "Пунктами самовывоза", привязанными к городу, который выбран в селекте "Населенный пункт".
Когда в 1ом селекте выбираем (или меняем) населенный пункт, к нему по аяксу подгружется селект с пунктами самовывоза, привязанными к выбранному населенному пункту.
Замечание: Не приветствуется выводить все списки населенных пунктов и пунктов самовывоза, а затем с помощью JS показывать и скрывать тот или ной вариант. Предпочтительней подгружать тот или ной селект по событию update_checkout.
Код должен структурированным и понятным, желательно с комментариями. JS от php желательно отделять в разные файлы, а не мешать в одну кашу.