Фильтр acf/upload_prefilter

Описание

Используется для выполнения пользовательской проверки вложения и предотвращения его загрузки.

Похож на фильтр acf/validate_attachment: этот хук можно использовать, чтобы запретить загрузку файла через модальное окно медиафайлов WP.

Журнал изменений

  • Добавлен в версии 5.1.9

Параметры

apply_filters( 'acf/upload_prefilter', $errors, $file, $field );
  • $errors (array) Массив сообщений об ошибках (строк) для указанного вложения. Добавление элементов в этот массив приведёт к ошибке загрузки вложения, а сообщение об ошибке будет показано клиенту.
  • $file (array) Массив, содержащий данные $_FILE для вложения, которое скоро будет загружено
  • $field (array) Массив поля, содержащий все настройки.

Модификаторы

Этот фильтр предоставляет модификаторы для выбора конкретных полей. Доступны следующие имена фильтров:

  • acf/upload_prefilter Применяется ко всем полям.
  • acf/upload_prefilter/type={$type} Применяется ко всем полям определённого типа.
  • acf/upload_prefilter/name={$name} Применяется ко всем полям с определённым именем.
  • acf/upload_prefilter/key={$key} Применяется ко всем полям с определённым ключом.

Пример

Этот пример показывает, как ограничить все загрузки из полей ACF (Image, File, Gallery) только пользователями-администраторами.

functions.php

<?php
add_filter('acf/upload_prefilter', 'my_acf_upload_prefilter', 10, 3);
function my_acf_upload_prefilter( $errors, $file, $field ){

    // Проверяем, не администратор ли пользователь.
    if( !current_user_can('manage_options') ) {
        $errors[] = __( 'Только администраторы могут загружать вложения' );
    }
    return $errors; 
}

Обновлено: 02.06.2026