Проблема: не удалось удалить тему, так как она не существует
У меня возникла странная проблема при попытке удалить тему - выводится сообщение: не удалось удалить тему, так как запрошенная тема не существует в WordPress.
Я могу удалить её вручную через FTP, но для клиента важно, чтобы удаление происходило прямо из админ-панели. У кого-нибудь есть идеи, как решить эту ошибку?
Примечание: тема работает нормально без каких-либо ошибок.


У меня никогда не было точного совпадения между Theme Name:
и реальным именем папки темы. Бывало похожее или что-то вроде того, но точного совпадения — никогда.

После дополнительных тестов я понял, что ошибался в предыдущем сообщении. Проблема была в том, что тема находилась в папке /themes/temp. После перемещения её обратно проблема исчезла — она не была связана с именем в редакторе темы. Спасибо, что указали на ошибку. Изменение имени темы в style.css влияет только на то, что отображается в Менеджере тем WordPress. Оно не обязательно должно совпадать с именем папки в файловой системе.

Хорошо, у меня была та же проблема, которая началась с FTP-запроса при попытке удалить тему. // Примечание: я делаю это в локальном окружении, а не на рабочем сайте
Первым шагом было добавить:
define('FS_METHOD', 'direct');
После этого появилась ошибка: "Deletion failed: The requested theme does not exist" (Не удалось удалить: запрошенная тема не существует)
Но вот как решить проблему полностью, и вам не понадобится код:
define('FS_METHOD', 'direct');
Вам нужно отредактировать файл httpd.conf
в зависимости от вашей настройки. Вот как я это сделал с помощью XAMPP: редактируем /opt/lampp/etc/httpd.conf
<IfModule unixd_module>
#
# Если вы хотите, чтобы httpd запускался от другого пользователя или группы, сначала запустите
# httpd от root, и он переключится.
#
# Пользователь/Группа: имя (или #номер) пользователя/группы, от которой будет работать httpd.
# Обычно хорошей практикой является создание отдельного пользователя и группы для
# запуска httpd, как и для большинства системных сервисов.
#
User nobody
Group nogroup
</IfModule>
Где указано User nobody
, замените на ваше имя пользователя, например User myuser
, перезапустите Apache, и вуаля! Надеюсь, это поможет кому-то, кто столкнулся с проблемой, которая у меня отняла часы и кучу нервов.
