Проблема: не удалось удалить тему, так как она не существует

29 сент. 2016 г., 17:00:20
Просмотры: 14.2K
Голосов: 3

У меня возникла странная проблема при попытке удалить тему - выводится сообщение: не удалось удалить тему, так как запрошенная тема не существует в WordPress.

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

Ошибка удаления темы в WordPress

Примечание: тема работает нормально без каких-либо ошибок.

2
Комментарии

Можете проверить, что разрешения на каталог темы (и файлы) установлены в 644 или более разрешительные? Также убедитесь, что заголовок темы в комментариях в начале файла style.css вашей темы цел и правильно отформатирован. Если вы изменили какую-то информацию в этом заголовке или каталог темы, пока тема была активна, возможно, потребуется деактивировать тему (и, возможно, реактивировать ее). Допустимо, что несколько тем с одинаковой информацией в заголовке могут запутать WordPress.

bosco bosco
30 сент. 2016 г. 03:28:50

@bosco Я проверил заголовок style.css, и все выглядит отлично, даже когда я менял его на информацию другой темы, а затем протестировал в новом WordPress, но проблема осталась. Проблема проявляется и локально, так что, думаю, дело не в разрешениях 644.

Carl Willis Carl Willis
30 сент. 2016 г. 13:53:59
Все ответы на вопрос 3
1
Я выяснил, в чем причина этой проблемы - название папки темы не должно содержать пробелов, если оно состоит из двух или более слов. Например, если название вашей темы "twenty sixteen", оно должно быть записано без пробелов в одно слово: "twentysixteen". Все, что мне нужно было сделать - это переименовать папку темы в одно слово без пробелов, после чего тема нормально удалилась через админ-панель. Надеюсь, эта информация поможет кому-то еще.
30 сент. 2016 г. 16:30:16
Комментарии

Проблема не только в пробелах. Если в названии темы есть точки, это также может привести к ошибке. Например, WordPress не сможет удалить тему из директории с именем theme-1.2.3, но успешно удалит директорию с именем theme-1_2_3

joemaller joemaller
28 мар. 2017 г. 21:52:08
2

Это также может произойти, если тема будет перемещена из папки /themes, например, в подпапку.

10 февр. 2021 г. 23:35:10
Комментарии

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

Tony Djukic Tony Djukic
11 февр. 2021 г. 05:29:43

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

Grindlay Grindlay
12 февр. 2021 г. 16:33:37
0

Хорошо, у меня была та же проблема, которая началась с 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, и вуаля! Надеюсь, это поможет кому-то, кто столкнулся с проблемой, которая у меня отняла часы и кучу нервов.

17 февр. 2018 г. 09:56:27