Всем привет.
Этот вопрос уже давно звучал на форуме, но я так и не нашел на него вразумительный ответ.
Проблема состоит вот в чем:
после установки блога, выдает сообщение Warning: Invalid argument supplied for foreach() in D:\Sites\home\localhost\www\blog\wp-includes\capabilities.php on line 35.
После всавки строки
$this->roles = unserialize(stripslashes($this->roles));
перед строкой 35, мне удавалось избежать появления ошибки, но даже в этом случае при заходе в админ-часть мне выдавало сообщение, что нет прав.
Может кто-то разобрался с этим багом, помогите плиз…
В 99% случаев это связано с кодировкой. Обычно происходит, когда блог устанавливается в одной кодировке, а потом что-то меняется. Если ситуация именно такая, то нужно обновлять все роли заново. Причем вручную через phpMyAdmin. Пример здесь уже приводился.
Если же ситуация была какая-то другая, то прежде всего нужно очистить кэш WordPress или вообще его отключить – проблема в том, что опции (а роли это опции) берутся вначале из кэша и уже только если они недействительны, то уже из БД.