Intereting Posts
Расширенная логика запросов с несколькими таксономиями Как добавить определенную фразу в конец поискового URL Нормально ли для запланированного сообщения говорить «Пропущенный график», Как отобразить атрибут тега <a> "target" в файле_author_meta ('description'); Информационный бюллетень, рассылка писем и управление контактами Подкачка wp_dropdown_categories работает с wp_category_checklist Поиск по ключевым словам с булевыми операторами Показать все термины в пользовательской таксономии со всеми дочерними терминами, завернутыми в ul Страница Отображение даты версии в google search Могу ли я использовать загрузчик файлов wp для своего собственного плагина? Использование URL-адресов, хранящихся в таблице сообщений Как вернуть только один экземпляр каждого из всего цикла preg_replace () Без конечного разделителя '.' найдено Где я могу добавить html-код в меню div? Как полностью контролировать пользовательские типы сообщений и URL-адреса URL-адресов?

После обновления: $ user становится неизвестным (id: 0) после успешного входа в систему?

Я просто отключил все плагины , а затем обновил свой WP до 4.7.3 . И тогда первое, что я делаю, – это войти в систему как Администратор.

Тогда я получаю:

К сожалению, у вас нет доступа к этой странице

(Примечание. Мой WordPress использует префикс по умолчанию wp_ , поэтому он не должен быть префиксным.)

Затем я сделал небольшую ручную отладку. Вот шаги:

(1) Внутри wp-includes/user.php , после строки 104 , поместите print_r( $user ); exit; print_r( $user ); exit; перед последней строкой внутри function wp_signon( ) . И он возвращает пользовательский объект VALID, который является правильным:

 104: do_action( 'wp_login', $user->user_login, $user ); 105: print_r( $user ); exit; 106: return $user; 107: } 

WP_User Object ([data] => stdClass Object ([ID] => 1 [user_login] => admin [user_pass] => $ Q $ BipvC2ydjzFlGFKbY.JKJhPqbEU7Ue. [User_nicename] => admin [user_email] => admin @ example. com [user_url] => [user_registered] => 2013-08-05 06:46:16 [user_activation_key] => [user_status] => 1 [display_name] => Администратор) [ID] => 1 [caps] => Array ([administrator] => 1) [cap_key] => wp_capabilities [role] => Array ([0] => administrator) [allcaps] => Array ([switch_themes] => 1 [edit_themes] => 1 [activate_plugins ] => 1 [edit_plugins] => 1 [edit_users] => 1 [edit_files] => 1 [manage_options] => 1 [average_comments] = ……………..

( Это означает, что на данный момент WordPress может правильно аутентифицировать пользователя и получить его объект. Поэтому ничего не происходит с частью аутентификации! )

(2) Затем, внутри wp-admin/admin.php , после строки 31 поместите echo get_current_user_id();

 31: require_once(dirname(dirname(__FILE__)) . '/wp-load.php'); 32: echo get_current_user_id(); 

Тогда, вот оно!

0

К сожалению, у вас нет доступа к этой странице.

Таким образом, это означает, что на данный момент зарегистрированный пользователь Admin теперь ушел. WordPress потерял пользователя и, следовательно, не помнит пользователя.

Может ли кто-нибудь помочь мне понять, чтобы решить ПОЧЕМУ это происходит?


Если вы хотите знать, вот мои значения базы данных, внутри таблицы wp_usermeta (для user_id=1 ):

wp_capabilities = a: 1: {s: 13: "administrator"; s: 1: "1";}

wp_user_level = 10

Редактирование основных файлов не рекомендуется. Вы можете попробовать загрузить чистую установку файлов WordPress. Если вы можете, установите текущую тему на TwentySeventeen, чтобы ваша база данных была готова к работе с чистой установкой.

Обязательно создайте резервную копию своей базы данных, если вы этого еще не сделали.

Следуйте инструкциям codex, чтобы удалить старые файлы WordPress . У них есть хороший список всех файлов, которые вы хотите сохранить для чистой установки. Хотя вместо исключения я рекомендую изменить имя каталога на что-то вроде wordpress-backup а затем установить новые файлы с исходным именем wordpress или тем, что в настоящее время вызывается.

Затем вы можете начать копирование по основным файлам. Обязательно сделайте это, прежде чем пытаться снова запустить сайт. Особенно, если вы не могли сначала переключиться на тему TwentySeventeen. Вы захотите убедиться, что тема, которую вы сейчас используете, будет найдена. Вот файлы для копирования в чистую установку:

  • файл wp-config.php;

  • папка wp-content;

  • wp-includes / languages ​​/ folder – если вы используете языковой файл, и он здесь, а не в wp-content / languages ​​/, не удаляйте это
    (возможно, вы захотите переместить свои языковые файлы
    на wp-content / languages ​​/ для более легкой модернизации в будущем);

  • .htaccess – если вы добавили пользовательские правила в свой .htaccess, не удаляйте его.

  • Пользовательский контент (темы) и / или плагины – если у вас есть какие-либо изображения или другой пользовательский контент или плагины внутри папки wp-content, НЕ удаляйте их.

Теперь протестируйте сайт и попробуйте изменить тему на тему TwentySeventeen, если вы не могли этого сделать раньше. Всегда лучше сначала проверить настройки по умолчанию, чтобы исключить несовместимую тему или плагин, как вы это делали ранее.