При входе в админку происходит редирект на ту же страницу входа.
Эта статья для вас, если вы попробовали все стандарные решения из интернета типа:
- Сробсить кэш браузера
- Выключить плагины
- Заменить файл .htaccess на оригинальный
- Заменить папки wp-admin и wp-includes на рабочие из дистрибутива WordPress
Я приведу неочевидный кейс, который иногда случается.
Иногда в базе данных при обновлении пропадает поле AUTO_INCREMENT у некоторых таблиц.
Этот параметр отвечает за то, чтобы следить за уникальностью значений в каких-либо столбцах таблицы.
Например, если поле с *_id должно быть уникальным, то при вставке строки в таблицу, AUTO_INCREMENT будет присваивать ему следующее свободное числовое значение.
Таким образом, если AUTO_INCREMENT отключен, то присвоится, например, 1. Если в столбце, который должен иметь уникальные значения, появятся две строки со значением 1, то будет ошибка и строка не вставится.
Что происходит при этой ошибке:
- При логине, создается новая сессия со своим id
- В таблице
wp_usermetaсоздается новая строка с идентификатором сессии - Если в поле
umeta_idнет параметра AUTO_INCREMENT, то будет ошибка - id сессии не будет создан и не запишется в куки браузера
- WordPress проверит, что он пустой и переотправит вас снова на страницу логина
Решение проблемы со входом в админку
Желательно перед любыми манипуляциями с базой данных, делать бэкап.
1. Заходим в phpMyAdmin в панели управления вашим хостингом
2. В базе данных среди таблиц вы найдете wp_usermeta

3. Заходите в эту таблицу и нажимаете "Структура"
4. Нажимаете редактировать umeta_id
5. Должна стоять галочка в параметре A_I

6. Если вы вернетесь в структуру таблицы, то там это будет выглядеть так

7. Убедитесь, что у вас нет строк с umeta_id = 0. Если такая строка есть, удалите её.
8. Попробуйте залогиниться. Проблема должна исчезнуть