После обновления до WordPress 6.4.x при установке плагина или темы из zip иногда всплывает «Архив несовместим» / «Incompatible Archive», хотя файл нормальный. Частая причина — сбой или странности PHP-класса ZipArchive на сервере. WordPress умеет распаковывать zip и через PclZip; ниже — как переключить его на этот путь.
Быстрый фикс через фильтр
Добавьте в functions.php активной темы (лучше дочерней) или в небольшой must-use плагин:
add_filter( 'unzip_file_use_ziparchive', '__return_false' );
Фильтр unzip_file_use_ziparchive с возвратом false отключает ZipArchive для распаковки. WordPress уходит на PclZip. После этого снова попробуйте загрузить тот же zip из админки.
Если ошибка осталась
- Права на uploads. У
wp-content/uploadsи подпапок должны быть права на запись (часто 755/775, пользователь — от PHP-FPM/Apache). - Лимиты загрузки. Проверьте
upload_max_filesize,post_max_sizeи лимит в WordPress. Слишком большой zip отвалится ещё до распаковки. - Конфликт плагинов. Временно отключите сторонние плагины (особенно security/file-manager) и повторите установку.
- Хостинг. Если zip нормальный, а ошибка только на этом сервере — спросите поддержку про PHP Zip, open_basedir и временные каталоги.
Фильтр — точечный обход, а не «лечение» сервера. На нормальном PHP с рабочим ZipArchive он обычно не нужен. Но когда после 6.4.3 админка отказывается принимать валидные архивы, эта строка часто возвращает установку плагинов и тем в рабочий вид.