Для добавления дополнительного поля при скачивании файла в Woocommerce, можно воспользоваться хуком `woocommerce_user_download_permission`.
Пример кода:
1. Необходимо использовать функцию `add_action()`, чтобы привязать функцию к нужному хуку.
```php
add_action( 'woocommerce_user_download_permission', 'custom_user_download_permission', 10, 4 );
function custom_user_download_permission( $permission, $download_id, $user_id, $order_key ) {
// Получение информации о файле
$download = get_download_info( $download_id, $user_id, $order_key );
// Проверка, если дополнительное поле существует для этого файла
if( isset( $download['extra_field'] ) && !empty( $download['extra_field'] ) ) {
// Переопределение значения разрешения
$permission = true;
}
return $permission;
}
```
2. Вместо `get_download_info()`, необходимо использовать вашу собственную функцию или метод для получения информации о файле. Значение `extra_field` должно быть получено из дополнительного поля, которое вы хотите добавить.
3. Обновите код в соответствии с вашими потребностями и дополнительным полем, которое вы хотите добавить.
4. Сохраните этот код в файле функций вашей темы или в файле плагина, чтобы добавить настраиваемое поле при скачивании файла.
Эта функция будет проверять, есть ли значение в настраиваемом поле, и если оно существует, разрешение на скачивание будет предоставлено пользователю. Вы можете адаптировать этот код, чтобы он соответствовал вашим потребностям и добавить дополнительные функции, если необходимо.