[ads_file] – загрузка файла

[ads_file] создает поле для загрузки картинки или другого файла.
! Обязательный атрибут name может принимать только целочисленные значения от 0 включительно.
Пример загрузка 3 файлов:

[ads_file name=0]<br /> [ads_file name=1]<br /> [ads_file name=2]<br />

123 [ads_file name=0]<br />[ads_file name=1]<br />[ads_file name=2]<br />

Мы получим что-то похоже на вот это:

А вот так будет выглядеть после загрузки первых 2 файлов:

Появятся кнопки удаление и поворота если это картинка, если не картинка появится иконка соответствующего типа и кнопка удаления.

Проверки условий

Атрибута terms в шорткоде пока нет.
Все проверки выполняем через подключение фильтра ads_check_files.
Для этого создаем файл ads_config (если его еще нет) создаем функцию-фильтр и подключаем ее :

function ads_file_user_filter($files, $atach){ if( !$atach[1] AND !$_FILES[1][‘size’]) $post[‘error’][1] = ‘Загрузите файл № 2!’; return $files; } add_filter(‘ads_check_files’,’ads_file_user_filter’,1,2);

1234567     function ads_file_user_filter($files, $atach){      if( !$atach[1] AND !$_FILES[1][‘size’])           $post[‘error’][1] = ‘Загрузите файл № 2!’;         return $files;    }    add_filter(‘ads_check_files’,‘ads_file_user_filter’,1,2);

Это фильтр просто проверяет загружен ли файл номер 2 по счету индекс в массиве у него будет 1 есть еще 0 не забывайте.
Так вот сложность проверки заключается в том, что в момент загрузки файл пребывает в массиве $files это копия системного массива $_FILES, а после загрузки файл будет находится в массиве $atach. Второй параметр $atach передается по ссылке.
И последнее в функцию фильтр может быть передано 3 параметра, третим параметром передается ссылка на объект форму.

function ads_file_user_filter($files, $atach, $odj){ ……… } add_filter(‘ads_check_files’,’ads_file_user_filter’,1,3);

1234 function ads_file_user_filter($files, $atach, $odj){.........} add_filter(‘ads_check_files’,‘ads_file_user_filter’,1,3);