Программное изменение отображаемого имени пользователя

12 дек. 2015 г., 17:19:54
Просмотры: 16.4K
Голосов: 6

Я хочу изменить отображаемое имя пользователя с помощью этого кода в файле functions.php моей темы:

$user_id = 672;
$display_name= 'Les Yeux';

$user_id = wp_update_user( array( 'ID' => $user_id, 'display_name' => $display_name ) );

Это адаптировано из этой темы в кодексе: https://codex.wordpress.org/Function_Reference/wp_update_user

Но это не работает. Ничего не изменилось. Я что-то упустил?

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

Как вы проверяете результаты? Смотрите напрямую в базу данных? Что именно? И в чем смысл? Это значение легко изменить из бэкенда. Зачем вам понадобилось писать этот кусок кода?

s_ha_dum s_ha_dum
12 дек. 2015 г. 17:45:43

@s_ha_dum У меня была проблема с сайтом - у некоторых пользователей по неизвестной мне причине отсутствует отображаемое имя. В результате их профиль не содержит имени (посмотрите на название вкладки в браузере, например): http://ouiaremakers.com/utilisateur/672/ в сравнении с http://ouiaremakers.com/utilisateur/1 Я пытаюсь исправить это, изменяя их display_name (который и должен отображаться в профиле), потому что из админки ничего не работает

Graham Slick Graham Slick
12 дек. 2015 г. 17:59:00

Хорошо. Эта информация полезна, но вы не ответили на первый вопрос: Как вы проверяете результаты?

s_ha_dum s_ha_dum
12 дек. 2015 г. 18:04:52

@s_ha_dum Ничего не меняется в этих профилях... Я попробовал с профилем, который отправил вам, и имя не отображалось

Graham Slick Graham Slick
12 дек. 2015 г. 18:11:09

И вы всё ещё не отвечаете на вопрос! Как вы проверяете? Вы смотрите в базу данных через PHPMyAdmin или другой инструмент? Вы просто смотрите на сгенерированную страницу? Вы используете какую-то функцию для проверки данных пользователя? Как? Какой механизм вы используете, чтобы определить, что код wp_update_user() не работает?

s_ha_dum s_ha_dum
12 дек. 2015 г. 18:14:29

Ну вот так я и проверяю! Я захожу в профиль пользователя, у которого изменил отображаемое имя, и если ничего не отображается, значит, это не сработало... как я могу проверить данные пользователя?

Graham Slick Graham Slick
12 дек. 2015 г. 18:16:35

Вы вошли под пользователем, у которого есть права на изменение других пользователей?

iateadonut iateadonut
24 мар. 2021 г. 09:12:06

На всякий случай: обновление display_name таким образом не показало мне результатов в редакторе пользователей в админке... Оказывается, там используется конкатенация first_name и last_name, а не display_name.

Chris Rae Chris Rae
15 мар. 2022 г. 19:00:25
Показать остальные 3 комментариев
Все ответы на вопрос 1
0

Только что вставил ваш код в мой functions.php с другим ID и проверил страницу пользователя в /wp-admin/user-edit.php - всё работает, значение в поле Отображать имя публично как обновляется.

Скорее всего, что-то не так с выводом на странице пользователя. Проверьте ваш файл шаблона. Или, если не можете найти проблему, отредактируйте вопрос и обновите его, вставив только релевантный код из вашего шаблона - не весь шаблон целиком.

12 дек. 2015 г. 20:45:23