Если необходимо приложить к заказу реквизиты или любой другой файл, к заполняемым полям нужно добавить загрузчик файла.
Easy Upload Files During Checkout (1000)
Простой но рабочий функционал. В бесплатной версии создает одно поле для загрузки файла. Можно выставлять форматы и размер загружаемых файлов. Загружаются файлы в директорию в uploads, и прикрепляются к каждому заказу.
В платной версии можно настроить:
- отправку файла по почте с заказом
- вложение файла на странице продукта, как часть товара
В случае если библиотека jQuery подгружается только в подвале, нужно в ручную перенести скрипт (он находится в папке easy-upload-files-during-checkout/inc/functions.php) в самый низ подвала:
<script defer="defer" type="text/javascript">jQuery(document).ready(function(){
var eufdc_init = setInterval(function(){
if((typeof eufdc_in_action=='undefined' || !eufdc_in_action) && typeof layered_js2!='undefined'){
clearInterval(eufdc_init); layered_js2(jQuery);
}else{ console.log(typeof eufdc_in_action); }
}, 1000);
});</script>
Скрываем поле Загрузка реквизитов, если не заполнено поле Компания.
Стили, первая часть, чтобы поменять местами Реквизиты и поле Детали заказа:
.woocommerce-additional-fields {display: flex; flex-wrap: wrap;}
.woocommerce-additional-fields > * {width: 100%; order: 10;}
#wufdc_div {display: none; order: 9; margin-bottom: 15px;}
#wufdc_div.wufdc_div_open {display: block;}
#wufdc_div h6 {font-size: 1.4rem;}
Скрипт:
jQuery('body').on('change', 'input:text[name="billing_company"]', function() {
if($('input:text[name="billing_company"]').val()) {
$('#wufdc_div').addClass('wufdc_div_open');
} else {
$('#wufdc_div').removeClass('wufdc_div_open');
}
});
WooCommerce Upload Files
У меня этот плагин не заработал, т.е. не вывелось поле. Причем критичных ошибок в консоли не было.
Woocommerce Checkout Field Editor
Данный плагин рассматривать не стал, хотя по описанию он предлагает возможность поля для загрузки, из-за того что он более комплексный для редактирования всех полей оформления.