На англоязычном форуме описаны наиболее вероятные причины этой ошибки:
- На некоторых серверах запрещена отправка cookies в GET-запросах. Проблема замечена при неверной конфигурации акселератора Varnish. В этом случае со второй попытки (после выполнения POST-запроса) авторизация всё же работает.
- Тема или один из плагинов выводит что-то на экран раньше времени. Решается переименованием каталога
wp-content/plugins
, созданием нового пустого каталога и последующим тестированием плагинов по одному.
Ещё одна возможная причина — неверное значение константы COOKIE_DOMAIN
в wp-config.php
. Помимо значения false
(текущий домен), допускаются домены второго или третьего уровня. Варианты типа localhost
не подходят.
До версии 3.7 ошибка не проявлялась, потому что cookies проверялись только при неверном логине или пароле.
В WordPress 3.7 и выше cookies проверяются до логина и пароля:
https://core.trac.wordpress.org/changeset/25045
Если исправить ошибку самостоятельно не удалось — пришлите мне координаты доступа к FTP, я посмотрю (бесплатно).
Sergey Biryukov, отправил вам сообщение через форму. Оно пришло?
Письмо пришло, но с предоставленными координатами зайти на FTP не удалось.
Ещё две возможные причины ошибки:
- Метка BOM в файле
wp-config.php
. При включённой константе WP_DEBUG
появляется сообщение «Cannot modify header information». Решается пересохранением файла в UTF-8 без BOM.
- Правила кеширования страниц при использовании сервиса CloudFlare. Нужно отключить кеширование для страницы входа (
wp-login.php
). На вашем сайте http://imult.tv, судя по HTTP-заголовкам, этот сервис используется:
Server: cloudflare-nginx
Можно попробовать добавить фрагмент в functions.php
активной темы:
function disable_cookie_test_on_login() {
unset( $_POST['testcookie'] );
}
add_action( 'login_init', 'disable_cookie_test_on_login' );
Он отключает проверку и может помочь, если проблема проявляется только в ней, но не поможет, если она вызвана другими причинами (например, меткой BOM или одним из плагинов).
Да, проблема была в Cloudflare. Спасибо.