Задача. На сайте используется плагин «Купить в один клик WooCommerce» (Buy One Click). Он выводит свою кнопку в товаре, нажав на которую, в форме можно оформить заказ, минуя корзину и т.п. В этой форме данные товара, контакты покупателя, сообщение, а также покупатель может прикрепить файл (например, какие-то документы для оплаты юридическим лицом). Проблема в том, что прикрепляются не все типы документов. Например, популярные docx или xlsx не прикреплялись и, естественно, на почту ничего не приходило. Причем, заказчик когда добавляет такие документы, то не видит что они не отправились.
Решение. Такая ситуация происходит потому что не все типы файлов WordPress разрешает по-умолчанию загружать таким образом для плагинов. Поэтому необходимо в functions.php добавить код настройки разрешения загрузки для необходимых файлов.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Для загрузки типов файлов через Заказать в один клик
function upload_allow_types_files( $mimes ) {
// добавляем нужные mime типы файлов
$mimes[] = ‘application/msword’;
$mimes[] = ‘application/vnd.openxmlformats-officedocument.wordprocessingml.document’;
$mimes[] = ‘application/excel’;
$mimes[] = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’;
return $mimes;
}
add_filter( ‘coderun_oneclickwoo_file_valid_mime_types’, ‘upload_allow_types_files’ );
// Добавляет нужные расширения файлов
function filter_function_name_1( $valid_filetypes ){
$valid_filetypes[] = ‘docx’;
$valid_filetypes[] = ‘xls’;
$valid_filetypes[] = ‘xlsx’;
return $valid_filetypes;}
add_filter( ‘coderun_oneclickwoo_file_valid_extension’, ‘filter_function_name_1’ );
|